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))
總結
以上是生活随笔為你收集整理的python 排列组合_python 编写排列组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyui datatable aja
- 下一篇: 大学计算机基础python学多久_基于P