itertools---排列组合

Posted daviddd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了itertools---排列组合相关的知识,希望对你有一定的参考价值。

排列组合

排列

  • 首先引入itertools模块

  • permutations 排列

  • from itertools import permutations
    lis = len(list(permutations([1,2,3,4,5],3)))
    print(lis)
    结果是60
    
    lis = len(list(permutations([1,2,3,4],3)))
    print(lis)
    结果是24
    

组合

  • combinations 组合

  • from itertools import combinations
    lis = len(list(combinations([1,2,3,4,5],3)))
    print(lis)
    结果是10
    

总结

显然,combinations方法重点在组合,permutations方法重在排列。
还有就是,combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list,而是iterators(迭代器),
 所以想要使用,只用将iterator 转换成list 即可, 还有其他一些函数返回的也是一个对象,需要list转换,比如 list(map())等 
--------------------- 
原文链接:https://blog.csdn.net/mishi_zcf/article/details/52455688

以上是关于itertools---排列组合的主要内容,如果未能解决你的问题,请参考以下文章

python itertools模块实现排列组合

如何指定仅允许某些第一个组合的 itertools 排列?

itertools库 combinations() 和 permutations() 组合 和 排列选项的方法

python 编写排列组合

什么是 Python itertools 的 Ruby 等价物,尤其是。组合/排列/分组?

Python Itertools 仅排列字母和数字