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

发布于 2021-02-02 23:24:21

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

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

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

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

关注者
0
被浏览
156
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    看看itertools.combinations

    itertools.combinations(iterable, r)
    

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看