当前位置: 首页 > 编程笔记 >

Python使用itertools模块实现排列组合功能示例

隆谦
2023-03-14
本文向大家介绍Python使用itertools模块实现排列组合功能示例,包括了Python使用itertools模块实现排列组合功能示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Python使用pickle模块实现序列化功能示例,包括了Python使用pickle模块实现序列化功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用pickle模块实现序列化功能。分享给大家供大家参考,具体如下: Python内置的pickle模块能够将Python对象序列成字节流,也可以把字节流反序列成对象。 如果比较复杂的操作(对象属性更变,添加删

  • 本文向大家介绍Java使用组合模式实现表示公司组织结构功能示例,包括了Java使用组合模式实现表示公司组织结构功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java使用组合模式实现表示公司组织结构功能。分享给大家供大家参考,具体如下: 一、模式定义 组合模式:将对象组合成树形结构以表示“部分一整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 二、组合模式举

  • 本文向大家介绍php实现登陆模块功能示例,包括了php实现登陆模块功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现登陆模块功能的方法。分享给大家供大家参考,具体如下: 最近在学习php。学了一点关于登陆的东西,写下来备忘。 新建四个页面,分别命名为: login.php check.php index.php error.php login页面用表单建立一个登陆页面,不多

  • 本文向大家介绍详解python itertools功能,包括了详解python itertools功能的使用技巧和注意事项,需要的朋友参考一下 介绍       itertools是python内置的模块,使用简单且功能强大,这里尝试汇总整理下,并提供简单应用示例;如果还不能满足你的要求,欢迎加入补充。       使用只需简单一句导入:import itertools chain()      

  • 本文向大家介绍Python itertools模块详解,包括了Python itertools模块详解的使用技巧和注意事项,需要的朋友参考一下 这货很强大, 必须掌握 文档 链接 http://docs.python.org/2/library/itertools.html pymotw 链接 http://pymotw.com/2/itertools/ 基本是基于文档的翻译和补充,相当于翻译了

  • 本文向大家介绍Python实现翻转数组功能示例,包括了Python实现翻转数组功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现翻转数组功能。分享给大家供大家参考,具体如下: 题目描述 给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1], ..., a[