编辑: 这与How to get all possible combinations of a list’s elements?
不完全相同本主题是关于查找唯一组合,而另一个主题是关于查找所有组合。
如果我有一个python列表:
L = [1,2,3,4]
从列表中获取3个元素的所有可能唯一组合的最佳方法是什么:
["1,2,3", "1,2,4", "2,3,4", "3,4,1"]
组合中元素的顺序无关紧要。例如,"1,2,3"
和"3,2,1"
将被视为相同的组合。
我可能会写一些循环来做这件事,但我认为可能会有一个单行程也可以这样做。
答案 0 :(得分:39)
>>> from itertools import combinations
>>> L = [1, 2, 3, 4]
>>> [",".join(map(str, comb)) for comb in combinations(L, 3)]
['1,2,3', '1,2,4', '1,3,4', '2,3,4']