中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python怎么輸出一個序列的所有子序列

發布時間:2021-03-09 17:35:07 來源:億速云 閱讀:482 作者:Leah 欄目:開發技術

本篇文章為大家展示了使用python怎么輸出一個序列的所有子序列,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

如下所示:

def sub(arr):
 finish=[]
 size = len(arr)
 end = 1 << size #end=2**size
 for index in range(end): # shift index
  array = []
  for j in range(size):
   # 00,01,10,11 is symmetrical
   if (index >> j) % 2: # this result is 1, so do not have to write ==
    array.append(arr[j])
  # print(array)
  finish.append(array)
 return finish

使用python怎么輸出一個序列的所有子序列

移位運算符 << 的優先級大于賦值 =

用01二進制串決定數組中的每個數字是否輸出

[]=000;[1]=100;[2]=010;[3]=001;[1,2]=110;[1,2,3]=111…

如何實現?

第一個循環實現的是01串的遍歷,eg.由000到111

第二個循環實現的是數組的遍歷,eg.將000與數組中的每一位數字做判斷

在if語句中,用到了向右移位,由于二進制串是對稱的,所以我們可以將01串從后向前與數組中的每一位數字做判斷。

eg.001與100對稱,110與011對稱…

在001中,最后一位是1,說明數組中3需要輸出

但是在我們遍歷數組的時候,先遇到的是1與arr[0],不過由于對稱性,這種情況其實與在100中,后遇到的是1與arr[2]

上述內容就是使用python怎么輸出一個序列的所有子序列,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳春市| 兰溪市| 苏尼特左旗| 三穗县| 民丰县| 伊吾县| 新丰县| 辽中县| 郧西县| 平山县| 南召县| 唐海县| 应城市| 江达县| 巨鹿县| 扎兰屯市| 通江县| 司法| 静乐县| 抚州市| 五大连池市| 桂平市| 霞浦县| 安吉县| 邳州市| 涞水县| 察雅县| 全椒县| 馆陶县| 韶山市| 奉化市| 司法| 开平市| 射阳县| 安西县| 铜梁县| 临海市| 沐川县| 石城县| 江华| 雅安市|