python實現返回集合的所有子集

2022-05-17 23:57:41 字數 458 閱讀 2722

**很簡單,不過想法特別好,在學習python的過程中看見了,於是就把他記錄下來。

演算法是利用遞迴的思想來實現返回集合的所有子集(如果想要對子集長度進行限制,引數加個limit就行了)

def allsubsets(s):

if len(s) == 0 :

return

return allsubsets(s[1:]) + [[s[0]] + r for r in allsubsets(s[1:])]

s=(1,4,5)

x=allsubsets(s)

print(x)

#測試結果:

[, [5], [4], [4, 5], [1], [1, 5], [1, 4], [1, 4, 5]]

my homepage

ps:過河問題

返回某整數集合的所有子集

題目 程式設計師面試金典 第5版 p226 編寫乙個方法,返回某集合的所有子集 方法一 迭代法,每增加乙個元素,就在已生成子集的基礎上,給每乙個子集新增該元素,形成新的子集。vector vector getsubsets vectornum if num.empty vectortmp tmp.p...

Python 查詢返回所有下標

返回所有符合條件的下標,自然想到的是用列表解析 list comprehension 並在列表解析中增加乙個斷言 if pred,是否符合條件 那麼又該如何返回其下標呢,是使用 index 成員函式嗎?比如,我們要獲取列表中所有元素為 0 的下標 l 0,2,0 l.index l for i in...

python集合所有常用的方法

定義a集合和b集合 a b 基本操作 新增元素 a.add 6 print a 新增多項 a.update 11,22,33,44 print a 刪除 remove pop discard a.remove 1 刪除不存在的元素會報錯 a.pop 隨機刪除 a.discard 10 刪除不存在的元...