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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
python统计文本字符串里单词出现频率的方法
May 26 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
用Python写一个自动木马程序
Sep 17 Python
python实现的读取网页并分词功能示例
Oct 29 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
python 实现PIL模块在图片画线写字
May 16 Python
使用keras根据层名称来初始化网络
May 21 Python
python和php学习哪个更有发展
Jun 17 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
scrapy-splash简单使用详解
Feb 21 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 daddslashes 使用方法介绍
2012/10/26 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JavaScript简介
2015/02/15 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python编程实现希尔排序
2017/04/13 Python
python 换位密码算法的实例详解
2017/07/19 Python
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
python定时关机小脚本
2018/06/20 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
在Python中使用Neo4j的方法
2019/03/14 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
Python yield的用法实例分析
2020/03/06 Python
Python内置函数locals和globals对比
2020/04/28 Python
Python jieba库分词模式实例用法
2021/01/13 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python