如何在python中获取长度为n的所有组合

新手上路,请多包涵

我想知道是否有任何方法可以从数字列表中获取长度的所有组合 n

例如,如果我的列表是 [1, 2, 3, 4] ,我想输出(如果我选择 n = 3)

 [1, 2, 3]
[1, 2, 4]
[1, 3, 4]
[2, 3, 4]

[2,1,3] 等其他排列对我没有用。

原文由 user3685412 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 438
1 个回答

itertools 可以这样做:

 import itertools

for comb in itertools.combinations([1, 2, 3, 4], 3):
    print(comb)

输出:

 (1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)

原文由 jlb83 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题