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 实现堆排序算法代码
Jun 05 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
tensorflow 限制显存大小的实现
Feb 03 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 Python
Python保存并浏览用户的历史记录
Apr 29 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的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
jQuery基础知识小结
2014/12/22 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
初步解析Python中的yield函数的用法
2015/04/03 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
Python如何实现强制数据类型转换
2019/11/22 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
一套.net面试题及答案
2016/11/02 面试题
学校交通安全责任书
2014/08/25 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
幼儿学前班评语
2014/12/29 职场文书
村党组织公开承诺书
2015/04/30 职场文书
亲情作文之母爱
2019/09/25 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
关于python爬虫应用urllib库作用分析
2021/09/04 Python