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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM