itertools模塊combinations(iterable, r)方法可以創建一個迭代器,返回iterable中所有長度為r的子序列,返回的子序列中的項按輸入iterable中的順序排序。
例1:
from itertools import combinations li = [1,2,3,4] newIter = combinations(li,2) print(newIter) newList = list(newIter) print(newList)
例2、實現一位數組的所有排列組合:
li = [1,2,3,4] li2 = [] for i in range(1,len(li)+1): newLi = list(combinations(li,i)) li2.append(newLi) print(li2)
例3:利用chain.from_iterable方法將多個迭代器連接起來
from itertools import combinations,chain li = [1,2,3,4] print(list(chain.from_iterable(combinations(li,r) for r in range(len(li)+1))))