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 Web开发模板引擎优缺点总结
May 06 Python
使用Python编写简单的画图板程序的示例教程
Dec 08 Python
Python中内置的日志模块logging用法详解
Jul 12 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
对Python 内建函数和保留字详解
Oct 15 Python
详解Python中的测试工具
Jun 09 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
基于python实现文件加密功能
Jan 06 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
用Python进行栅格数据的分区统计和批量提取
May 27 Python
Django框架中视图的用法
Jun 10 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 多关键字 高亮显示实现代码
2012/04/23 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
php中引用符号(&)的使用详解
2013/11/13 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
python多进程控制学习小结
2018/10/31 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
外贸英语专业求职信范文
2013/12/25 职场文书
《小池塘》教学反思
2014/02/28 职场文书
中考冲刺决心书
2014/03/11 职场文书
培根随笔读书笔记
2015/07/01 职场文书
学校运动会加油词
2015/07/18 职场文书
升学宴祝酒词
2015/08/11 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
python编程实现清理微信重复缓存文件
2021/11/01 Python
Python使用openpyxl模块处理Excel文件
2022/06/05 Python