Python使用itertools模块实现排列组合功能示例


Posted in Python onJuly 02, 2018

本文实例讲述了Python使用itertools模块实现排列组合功能。分享给大家供大家参考,具体如下:

一、笛卡尔积:itertools.product(*iterables[, repeat])

直接对自身进行笛卡尔积:

import itertools
for i in itertools.product('ABCD', repeat = 2):
  print (''.join(i),end=' ')

输出结果:

AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD

print (''.join(i))这个语句可以让结果直接排列到一起

end=' '可以让默认的输出后换行变为一个空格

两个元组进行笛卡尔积:

import itertools
a = (1, 2, 3)
b = ('A', 'B', 'C')
c = itertools.product(a,b)
for i in c:
  print(i,end=' ')

输出结果:

(1, 'A') (1, 'B') (1, 'C') (2, 'A') (2, 'B') (2, 'C') (3, 'A') (3, 'B') (3, 'C')

二、排列:itertools.permutations(iterable[, r])

import itertools
for i in itertools.permutations('ABCD', 2):
  print (''.join(i),end=' ')

输出结果:

AB AC AD BA BC BD CA CB CD DA DB DC

三、组合:itertools.combinations(iterable, r)

import itertools
for i in itertools.combinations('ABCD', 3):
  print (''.join(i))

输出结果:

ABC
ABD
ACD
BCD

四、组合(包含自身重复):itertools.combinations_with_replacement(iterable, r)

import itertools
for i in itertools.combinations_with_replacement('ABCD', 3):
  print (''.join(i),end=' ')

输出结果:

AAA AAB AAC AAD ABB ABC ABD ACC ACD ADD BBB BBC BBD BCC BCD BDD CCC CCD CDD DDD

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
动态创建类实例代码
Oct 07 Python
分享一个常用的Python模拟登陆类
Mar 29 Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 Python
python实现在windows下操作word的方法
Apr 28 Python
python实现上传下载文件功能
Nov 19 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
python使用参数对嵌套字典进行取值的方法
Apr 26 Python
python 读取修改pcap包的例子
Jul 23 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
pytorch进行上采样的种类实例
Feb 18 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
PyCharm Community安装与配置的详细教程
Nov 24 Python
python绘制立方体的方法
Jul 02 #Python
python numpy 一维数组转变为多维数组的实例
Jul 02 #Python
Python实现通过继承覆盖方法示例
Jul 02 #Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 #Python
Python 中的range(),以及列表切片方法
Jul 02 #Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 #Python
分享vim python缩进等一些配置
Jul 02 #Python
You might like
PHP学习笔记之二
2011/01/17 PHP
PHP实现变色验证码实例
2014/01/06 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
sails框架的学习指南
2014/12/22 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Python安装selenium包详细过程
2019/07/23 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Python程序慢的重要原因
2020/09/04 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
报社实习生自荐信
2014/01/24 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
大学军训的体会
2014/11/08 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android