python中的排列组合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的排列组合相关的知识,希望对你有一定的参考价值。
参考技术A 在日常的工作学习中,我们肯定会遇到排列组合问题,比如,在5种颜色的球中,任意取3个,共有多少种组合方式,这也包括有放回和无放回抽样。在python中,自带的排列组合函数,都在python的指导工具包itertools中。
product 笛卡尔积 (有放回抽样排列)
permutations 排列 (不放回抽样排列)
combinations 组合,没有重复 (不放回抽样组合)
combinations_with_replacement 组合,有重复 (有放回抽样组合)
python3中返回的为对象,可以通过迭代读取将值输出。
end
python 实现排列组合
对于一个数组(或任何可以迭代的元素集),可以通过itertools包中的permutations和combinations轻松完成排列,组合
python3中permutations和combinations返回的是一个迭代器,可以通过list转化为一个列表,方便我们进一步处理
具体用法看下面的例子
import itertools from itertools import permutations, combinations print("Permutations of ‘bar‘") print(list(permutations(‘bar‘))) #输出结果 #Permutations of ‘bar‘ #[(‘b‘, ‘a‘, ‘r‘), (‘b‘, ‘r‘, ‘a‘), (‘a‘, ‘b‘, ‘r‘), (‘a‘, ‘r‘, ‘b‘), (‘r‘, ‘b‘, ‘a‘), (‘r‘, ‘a‘, ‘b‘)] print("Combinations of 2 letters from ‘bar‘") print(list(combinations(‘bar‘, 2))) #输出结果 #Combinations of 2 letters from ‘bar‘ #[(‘b‘, ‘a‘), (‘b‘, ‘r‘), (‘a‘, ‘r‘)]
以上是关于python中的排列组合的主要内容,如果未能解决你的问题,请参考以下文章