python 排列组合_python 编写排列组合
python在編寫排列組合是會(huì)用到 itertools 模塊
排列
import itertools
mylist= list(itertools.permutations(['A','B','C','D'],4)) # 全排列
print(mylist)
mylist1= list(itertools.permutations(['A','B','C','D'],3)) # 4個(gè)里面選3個(gè)排列
print(mylist1)
#5!=1*2*3*4*5#0!=1#M個(gè)選N個(gè) 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個(gè)里面選3個(gè)組合
print(mylist1)
#['A','B','C','D'],3) 4個(gè)取3個(gè),無序
#M!/N!(M-N)!
可以重復(fù)的排序(類似密碼)
import itertools
# product 可以重復(fù)的排序
# mylist1= list(itertools.product("0123456789",repeat=4)) 參數(shù)表示可以重復(fù)的從前面的0到9里面取出4個(gè)數(shù)字來
# print(mylist1)
mylist=(["".join(x) for x in itertools.product("0123456789",repeat=4) ])
print(mylist)
print(len(mylist))
利用生成器可以跌代的生產(chǎn)密碼,節(jié)約內(nèi)存
#百度云,輸入密碼 _ _ _ _
import itertools
# product 可以重復(fù)的排序
mylist=("".join(x) for x in itertools.product("0123456789",repeat=4))
print(next(mylist))
print(next(mylist))
print(next(mylist))
print(next(mylist))
總結(jié)
以上是生活随笔為你收集整理的python 排列组合_python 编写排列组合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyui datatable aja
- 下一篇: php cookie 加密解密,php实