找出list的全部子集很簡單,但是如果我們要求子集保持順序,就加了很多的限制。
比如[1,2,3,4] ->有效的有序真子集應該是[ [1],[1,2],[1,2,3],[1,2,3,4] ]
實現如下:
def
find_subset
(l):
list =[[
]]#用於儲存子集
#查詢有序子集
for i in
range
(len
(l))
:#遍歷原list元素
for j in
range
(len
(list)):
#遍歷用於list內容
flag =
0 sub_list = list[j]
+[l[i]
]#可能子集
if sub_list not
in list:
iflen
(sub_list)
>1:
for each in
range(0
,len
(sub_list)):
if l[each]
!= sub_list[each]
:#保證前幾位一致
flag =
1if flag ==0:
else
:if l[0]
== sub_list[0]
:
如果還需要去除空集,可以再加一部分**
#刪除list中的空集
for a in list:
if a ==
: list.remove(a)
測試**:
f =[[
'a'],[
'a',
'c'],[
'f',
'a',
'c'],[
'f',
'a'],[
'p']
for ele in f:
subset = find_subset(ele)
Python的列表(list)介紹
列表物件支援的方法 2.count x 返回物件x在列表中出現的次數 3.extend l 將列表l中的表項新增到列表中,返回none 4.index x 返回列表中匹配物件x的第乙個列表項的索引,無匹配元素時產生異常 5.insert i,x 在索引為i的元素前插入物件x,如list.insert...
python 列表list的遍歷
這裡一共介紹,python列表 list 的遍歷方法,包括直接遍歷,下標遍歷,用列舉函式來遍歷 遍歷列表方法1 直接遍歷,這也是最普通的一種 for u in list print u,list.index u print 方法二 遍歷列表方法2 通過下標進行遍歷,range的範圍是從0到len l...
Python 中的 List 列表
任意物件的有序集合 列表可以包含任何種類的物件 列表都是可變的 列表是有序的 2 常用操作 列表長度 l1 1,2,3,4 print len l1 4 列表拼接 l2 l1 5,6 print l2 1,2,3,4,5,6 生成重複列表 print list 5 list list list li...