python 排列组合

来源:互联网 发布:linux挂载光盘 编辑:程序博客网 时间:2024/05/29 04:45
# 导入模块
import itertools

# 组合(combinations)

参数:

组合(iterable,r)——>组合对象

返回迭代中元素的连续的r -长度组合。
组合(范围(4),3)- >(0,1,2)(0,1,3),(0、2、3),(1、2、3)

:print(list(itertools.combinations([1,2,3],3)))  

# 排列(permutations)

参数:

排列(iterable[,r])——>置换对象
返回迭代中元素的连续r -长度排列。
排列(范围(3),2)——>(0,1),(0,2),(1,0)、(1、2),(2,0),(2,1)

:print(list(itertools.permutations([1,2,3],2))) 

# 重复(product)





# 导入模块import itertools
# 组合print(list(itertools.combinations([1,2,3],2)))输出:[(1, 2), (1, 3), (2, 3)]print(list(itertools.combinations([1,2,3],3)))输出:[(1, 2, 3)]
# 排列print(list(itertools.permutations([1,2,3],2)))输出[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]print(list(itertools.permutations([1,2,3],3)))输出[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
# 重复排列print([''.join(x) for x in itertools.product('12', repeat=2)])输出:['11', '12', '21', '22']print([''.join(x) for x in itertools.product('12', repeat=3)])输出:['111', '112', '121', '122', '211', '212', '221', '222']