在python中,实现了组合函数combinations 和排列函数permutations。两个函数都在itertools包中。
比如用permutations函数可以得到一个列表所有元素的全排列。
import itertools as it
s = list(it.permutations(range(3), 3))
print(s)
输出
但是,有时候想得到N位二进制数的全排列,比如3位二进制数的全排列如下:
这时用permutations函数就没有办法了,可以用itertools包中的product函数来实现。
import itertools as it
s = list(it.product(range(2), repeat=5))
print(s)
输出