获取可重复的排列组合
笛卡尔积:itertools.product(*iterables[, repeat])
import itertools
# 0~10,放回抽样组成2个数组的所有可能,1/11*1/11=1/121
b = []
for i in itertools.product(['0','1','2','3','4','5','6','7','8','9','10'], repeat = 2):
b.append(','.join(i),)
len(b)
121
排列:itertools.permutations(iterable[, r])
将其中的元素排列为所有可能的情况,并以元组序列的形式返回
from itertools import permutations
# 0~10,不放回抽样组成2个数组的所有可能,1/11*1/10=1/110
a = list(permutations(range(0,11,1), 2))
len(a)
110
获取不重复排列组合
itertools.combinations(iterable, r)
对于combinations()来说,元素之间的实际顺序是不作考虑的,组合('a', 'b')和('b', 'a')被认为是相同的组合形式。
a = []
for i