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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python获取图片颜色信息的方法
Mar 18 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
在Django的View中使用asyncio的方法
Jul 12 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
Python切图九宫格的实现方法
Oct 10 Python
python实现从wind导入数据
Dec 03 Python
Python中and和or如何使用
May 28 Python
Python面向对象实现方法总结
Aug 12 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 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
用header 发送cookie的php代码
2007/03/16 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
jQuery随便控制任意div隐藏的方法
2013/06/28 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
python实现任意位置文件分割的实例
2018/12/14 Python
python 格式化输出百分号的方法
2019/01/20 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Python定时器线程池原理详解
2020/02/26 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
YII2 全局异常处理深入讲解
2021/03/24 PHP
中专毕业生的自我鉴定
2013/12/01 职场文书
业务员的岗位职责
2014/03/15 职场文书
学历公证书范本
2014/04/09 职场文书
合作协议书范本
2014/04/17 职场文书
大学生就业求职信
2014/06/12 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
学习张林森心得体会
2014/09/10 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python