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基础入门学习笔记(Python环境搭建)
Jan 13 Python
python Django批量导入数据
Mar 25 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
python虚拟环境迁移方法
Jan 03 Python
50行Python代码获取高考志愿信息的实现方法
Jul 23 Python
python如何进行矩阵运算
Jun 05 Python
python代码中怎么换行
Jun 17 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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
重置版战役片段
2020/04/09 魔兽争霸
一个基于PDO的数据库操作类
2011/03/24 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP的PDO连接讲解
2019/01/24 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
jQuery 位置插件
2008/12/25 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
详解Python if-elif-else知识点
2018/06/11 Python
Python的argparse库使用详解
2018/10/09 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
详解Django中异步任务之django-celery
2020/11/05 Python
医学生求职自荐信
2013/10/25 职场文书
英文自荐信
2013/12/15 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
教师业务培训方案
2014/05/01 职场文书
室内设计专业自荐信
2014/05/31 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers