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实现xml与数据库读取转换的方法
Jun 17 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
python批量替换多文件字符串问题详解
Apr 22 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
python批量识别图片指定区域文字内容
Apr 30 Python
三个python爬虫项目实例代码
Dec 28 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
python中的None与NULL用法说明
May 25 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
德劲1107的电路分析与打磨
2021/03/02 无线电
php输入流php://input使用浅析
2014/09/02 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
PHP反射基础知识回顾
2020/09/10 PHP
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
vue组件中的数据传递方法
2018/05/14 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
深入理解python中的select模块
2017/04/23 Python
python书籍信息爬虫实例
2018/03/19 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python实现最速下降法
2020/03/24 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Python timeit模块原理及使用方法
2020/10/10 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
优秀学生评语大全
2014/04/25 职场文书
校长创先争优承诺书
2014/08/30 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
老公婚前保证书
2015/02/28 职场文书
家属联谊会致辞
2015/07/31 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
MySQL快速插入一亿测试数据
2021/06/23 MySQL