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

 更新时间:2018年07月02日 10:47:08   作者:cf1ybird  
这篇文章主要介绍了Python使用itertools模块实现排列组合功能,涉及Python基于itertools模块product、permutations与combinations_with_replacement方法进行排列、组合等相关操作实现技巧,需要的朋友可以参考下

本文实例讲述了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将字符串以utf-8格式保存在txt文件中的方法

    python将字符串以utf-8格式保存在txt文件中的方法

    今天小编就为大家分享一篇python将字符串以utf-8格式保存在txt文件中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python sys,os,time模块的使用(包括时间格式的各种转换)

    python sys,os,time模块的使用(包括时间格式的各种转换)

    这篇文章主要介绍了python sys,os,time模块的使用(包括时间格式的各种转换),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • pytest解读一次请求多个fixtures及多次请求

    pytest解读一次请求多个fixtures及多次请求

    这篇文章主要为大家介绍了一次请求多个fixtures,以及fixtures被多次请求的pytest官方解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python将邻接矩阵输出成图的实现

    python将邻接矩阵输出成图的实现

    今天小编就为大家分享一篇python将邻接矩阵输出成图的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python实现抖音视频批量下载

    python实现抖音视频批量下载

    这篇文章主要为大家详细介绍了python实现抖音视频批量下载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python判断设备是否联网的方法

    python判断设备是否联网的方法

    这篇文章主要为大家详细介绍了python判断设备是否联网的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python 如何执行控制台命令与操作剪切板

    python 如何执行控制台命令与操作剪切板

    这篇文章主要介绍了python 如何执行控制台命令与操作剪切板,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 详解如何减少python内存的消耗

    详解如何减少python内存的消耗

    这篇文章主要介绍了详解如何减少python内存的消耗,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python绘制饼图、圆环图的实例

    Python绘制饼图、圆环图的实例

    这篇文章主要介绍了Python绘制饼图、圆环图的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 详解Python中while无限迭代循环方法

    详解Python中while无限迭代循环方法

    Python 有 while 语句和 for 语句作为循环处理。虽然 for 语句具有一定数量的进程,但 while 语句是直到满足条件类型的循环进程。本文将详解while无限迭代循环方法,需要的可以了解一下
    2022-04-04

最新评论