从python列表中获取元素的唯一组合

Get unique combinations of elements from a python list

本问题已经有最佳答案,请猛点这里访问。

编辑:这不是如何获取列表元素的所有可能组合的精确副本?

本主题是关于查找唯一组合,而另一主题是关于查找所有组合。

如果我有一个python列表:

1
 L = [1,2,3,4]

从下面的列表中获取3个元素所有可能的唯一组合的最佳方法是什么:

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

元素在组合中的顺序并不重要。例如,"1,2,3""3,2,1"被认为是相同的组合。

我可能会写几个循环来完成这项工作,但我认为可能有一个一行程序可以完成相同的工作。


您需要itertools.combinations

1
2
3
4
>>> 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']