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 相关文章推荐
python中常用的各种数据库操作模块和连接实例
May 29 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
使用python去除图片白色像素的实例
Dec 12 Python
python turtle 绘制太极图的实例
Dec 18 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
python初步实现word2vec操作
Jun 09 Python
windows支持哪个版本的python
Jul 03 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
Python中使用dom模块生成XML文件示例
2015/04/05 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Linux下python制作名片示例
2018/07/20 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
python超时重新请求解决方案
2019/10/21 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
北承题目(C++)
2012/05/16 面试题
生物科学系大学生的自我评价
2013/12/20 职场文书
泰山导游词
2015/02/02 职场文书
心得体会格式及范文
2016/01/25 职场文书