python 排列组合_python 编写排列组合

python在编写排列组合是会用到 itertools 模块

排列

import itertools

mylist= list(itertools.permutations(['A','B','C','D'],4)) # 全排列

print(mylist)

mylist1= list(itertools.permutations(['A','B','C','D'],3)) # 4个里面选3个排列

print(mylist1)

#5!=1*2*3*4*5#0!=1#M个选N个 M!/(M-N)!

#4 1 4!/3!=4#4 2 4!/2!=3*4=12#4 3 4!/1!=24

组合

import itertools

mylist= list(itertools.combinations(['A','B','C','D'],4)) # 组合

print(mylist)

mylist1= list(itertools.combinations(['A','B','C','D'],3)) # 4个里面选3个组合

print(mylist1)

#['A','B','C','D'],3) 4个取3个,无序

#M!/N!(M-N)!

可以重复的排序(类似密码)

import itertools

# product 可以重复的排序

# mylist1= list(itertools.product("0123456789",repeat=4)) 参数表示可以重复的从前面的0到9里面取出4个数字来

# print(mylist1)

mylist=(["".join(x) for x in itertools.product("0123456789",repeat=4) ])

print(mylist)

print(len(mylist))

利用生成器可以跌代的生产密码,节约内存

#百度云,输入密码 _ _ _ _

import itertools

# product 可以重复的排序

mylist=("".join(x) for x in itertools.product("0123456789",repeat=4))

print(next(mylist))

print(next(mylist))

print(next(mylist))

print(next(mylist))

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值