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写排列组合
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【LeetCode】39. 组合总和
【LeetCode】39. 组合总和
leetcode 数据结构与算法 C++ -
【组合数学】排列组合 ( 排列组合示例 )
一、排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 )、二、排列组合示例 2
排列组合 加法法则 乘法法则 组合 排列 -
【组合数学】排列组合 ( 排列组合内容概要 | 选取问题 | 集合排列 | 集合组合 )
一、排列组合内容概要、二、选取问题、三、集合排列、四、环排列、五、集合组合、
集合排列 集合组合 选取问题 排列组合 组合数学 -
输出排列组合python
一·有序类型字符串元组列表二·集合三·映射类型先介绍序列类型输出元素方法: -4号 &
输出排列组合python python 元组 标识符 字符串