python 排列组合

# 导入模块
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']



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值