python中的排列组合
第一种itertools.permutations() ,它接受一个集合并产生一个元组序列,每个元组由集合中所有元素的一个可能排列组成。也就是说通过打乱集合中元素排列顺序生成一个元组items = ['a', 'b', 'c']from itertools import permutationsfor p in permutations(items):print(p)# 指定序列的长度# for
·
第一种
itertools.permutations() ,它接受一个集合并产生一个元组序列,每个元组由集合中所有元素的一个可能排列组成。也就是说通过打乱集合中元素排列顺序生成一个元组
items = ['a', 'b', 'c']
from itertools import permutations
for p in permutations(items):
print(p)
# 指定序列的长度
# for p in permutations(items, 2):
# print(p)
结果:
('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')
第二种
使用 itertools.combinations() 可得到输入集合中元素的所有的组合。
from itertools import combinations
items = ['a', 'b', 'c']
for c in combinations(items,2):
print(c)
#for c in combinations(items, 3):
# print(c)
结果
('a', 'b')
('a', 'c')
('b', 'c')
第三种
函 数 itertools.combinations_with_replacement() 允许同一个元素被选择多次
items = ['a', 'b', 'c']
from itertools import combinations_with_replacement
for a in combinations_with_replacement(items, 3):
print(a)
结果:
('a', 'a', 'a')
('a', 'a', 'b')
('a', 'a', 'c')
('a', 'b', 'b')
('a', 'b', 'c')
('a', 'c', 'c')
('b', 'b', 'b')
('b', 'b', 'c')
('b', 'c', 'c')
('c', 'c', 'c')
更多推荐
已为社区贡献1条内容
所有评论(0)