资讯专栏INFORMATION COLUMN

python之itertools的排列组合相关

ivydom / 420人阅读

摘要:最近由于需要做一些排列组合的需要,本来没想到自带库中会有这功能,还花了点时间写了下,后来翻看标准库的时候,发现,这货居然直接提供了,而且还提供了几种形式,之间上代码输入结果很漂亮。

最近由于需要做一些排列组合的需要,本来没想到python自带库中会有这功能,还花了点时间写了下,后来翻看python标准库的时候,发现,这货居然直接提供了,而且还提供了几种形式,之间上代码:

import itertools

t_list = ["a","b","c","d"]

print("product")
for i in itertools.product(t_list,repeat=2):
    print(i)

print("permutations")    
for i in itertools.permutations(t_list, 2):
    print(i)

print("combinations")
for x in xrange(len(t_list)): 
    for i in itertools.combinations(t_list,x+1):
        print(i)
 
print("combinations_with_replacement")    
for i in itertools.combinations_with_replacement(t_list,2):
    print(i)

输入结果

product
("a", "a")
("a", "b")
("a", "c")
("a", "d")
("b", "a")
("b", "b")
("b", "c")
("b", "d")
("c", "a")
("c", "b")
("c", "c")
("c", "d")
("d", "a")
("d", "b")
("d", "c")
("d", "d")
permutations
("a", "b")
("a", "c")
("a", "d")
("b", "a")
("b", "c")
("b", "d")
("c", "a")
("c", "b")
("c", "d")
("d", "a")
("d", "b")
("d", "c")
combinations
("a",)
("b",)
("c",)
("d",)
("a", "b")
("a", "c")
("a", "d")
("b", "c")
("b", "d")
("c", "d")
("a", "b", "c")
("a", "b", "d")
("a", "c", "d")
("b", "c", "d")
("a", "b", "c", "d")
combinations_with_replacement
("a", "a")
("a", "b")
("a", "c")
("a", "d")
("b", "b")
("b", "c")
("b", "d")
("c", "c")
("c", "d")
("d", "d")

很漂亮。看来还是之前某位朋友说得对,python标准库,至少得过一遍,最好能有三遍并有对应的练习,这样玩,会玩的更嗨皮~

---EOF---

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37694.html

相关文章

  • Python 进阶路 (九) 再立Flag, 社区最全itertools深度解析(上)

    摘要:例如,以下对两个的相应元素求和这个例子很好的解释了如何构建中所谓的迭代器代数的函数的含义。为简单起见,假设输入的长度可被整除。接受两个参数一个可迭代的正整数最终会在中个元素的所有组合的元组上产生一个迭代器。 前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作...

    tuantuan 评论0 收藏0
  • Python进阶:设计模式迭代器模式

    摘要:抓住了迭代器模式的本质,即是迭代,赋予了它极高的地位。输出结果输出结果小结迭代器模式几乎是种设计模式中最常用的设计模式,本文主要介绍了是如何运用迭代器模式,并介绍了模块生成迭代器的种方法,以及种生成迭代器的内置方法。 showImg(https://segmentfault.com/img/bVbmv7W?w=4272&h=2848); 在软件开发领域中,人们经常会用到这一个概念——设...

    pubdreamcc 评论0 收藏0
  • Python进阶:设计模式迭代器模式

    摘要:抓住了迭代器模式的本质,即是迭代,赋予了它极高的地位。输出结果输出结果小结迭代器模式几乎是种设计模式中最常用的设计模式,本文主要介绍了是如何运用迭代器模式,并介绍了模块生成迭代器的种方法,以及种生成迭代器的内置方法。 showImg(https://segmentfault.com/img/bVbmv7W?w=4272&h=2848); 在软件开发领域中,人们经常会用到这一个概念——设...

    sherlock221 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<