Получите уникальные комбинации элементов из списка python

Изменить: Это не точный дубликат Как получить все возможные комбинации элементов списка?

Этот раздел посвящен поиску уникальных комбинаций, в то время как другая тема касается поиска ВСЕХ комбинаций.

Если у меня есть список 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" будут считаться одной и той же комбинацией.

Возможно, я могу написать несколько циклов для этого, но я думаю, что может быть однострочный, который может сделать то же самое.

Ответы

Ответ 1

Вам нужно 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']