91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

使用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

东兰县| 阜新| 嘉峪关市| 昌图县| 凌云县| 潢川县| 永仁县| 墨脱县| 雷山县| 远安县| 宁武县| 壤塘县| 昌乐县| 霍山县| 玉屏| 绩溪县| 新闻| 商城县| 芦山县| 新河县| 南漳县| 盐源县| 平凉市| 额济纳旗| 景德镇市| 文昌市| 洛宁县| 宁陵县| 渝中区| 德保县| 大渡口区| 连平县| 新建县| 婺源县| 福州市| 长葛市| 徐水县| 迭部县| 临清市| 正蓝旗| 浦北县|