一尘不染

Python-如何获得列表元素的所有可能组合?

python

有一个包含15个数字的列表,我需要编写一些代码来生成这些数字的所有32,768个组合。

我已经找到了一些代码(通过Googling),这些代码显然可以满足我的需求,但是我发现代码相当不透明并且对使用它很谨慎。另外我觉得必须有一个更优雅的解决方案。

对我而言,唯一发生的就是循环遍历十进制整数1–32768,并将其转换为二进制,然后使用二进制表示形式作为筛选器来选择适当的数字。

有人知道更好的方法吗?使用map()


阅读 1773

收藏
2020-02-06

共1个答案

一尘不染

看看itertools.combinations

itertools.combinations(iterable, r)

从输入iterable返回元素的r长度子序列。

组合按词典排序顺序发射。因此,如果输入iterable被排序,组合元组将按排序顺序生成。
从2.6开始,包括电池!

2020-02-06