在python中itertool为python提供一系列迭代iterator的方法。
地一个组合
itertools.combinations(sq, r)
该函数的作用是在列表sq中穷举所有的组合项目。 地一个参数是列表,第二个参数一个项中的个数。
比如参数为‘abcd’和2。意思为从abcd中两两组合。 ab,ac,ad,bc,bd,cd
import itertools str = ‘abcd‘ com = itertools.combination(str, 2) print [item for item in com]
结果:[(‘a‘, ‘b‘), (‘a‘, ‘c‘), (‘a‘, ‘d‘), (‘b‘, ‘c‘), (‘b‘, ‘d‘), (‘c‘, ‘d‘)]
这是组合,自然有排列。
排列和组合的区别在于一个元素tuple内,先后顺序是否决定一个元素。比如(a,b)与(b,a),组合认为这是一个tuple,而排列认为这是两个。
组合的函数有:combinations,combinations_with_replacement
。 两者区别在于是否出现如(a,a),(b,b)这种元素。
排列:product, permutations
时间: 2024-10-10 21:07:22