Python itertools模块combinations方法

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))))

原文地址:https://www.cnblogs.com/sunny0824/p/13498570.html