2013-08-13 30 views
15

編集ゲット: をこれは、このトピックでは、他のトピックは、すべての組み合わせを見つけることについてである一方、ユニークな組み合わせを見つけることについてであるHow to get all possible combinations of a list’s elements?Pythonのリストの要素のユニークな組み合わせ

の正確な複製ではありません。

私はPythonのリストがある場合:

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

のため:すべての可能なユニークな組み合わせを取得するための最良の方法は何

L = [1,2,3,4] 

を以下のようにリストから3つの要素の組み合わせの要素は関係ありません。たとえば、"1,2,3""3,2,1"は同じ組み合わせとみなされます。

私はおそらくこれを行うにはいくつかのループを書くことができますが、私は同じことをすることができる1ライナーがあるかもしれないと思う。

答えて

25

あなたはitertools.combinations必要があります。

>>> 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'] 
関連する問題