Вопрос:

Как получить все комбинации данных в списке

python-3.x

20 просмотра

2 ответа

36 Репутация автора

Я хочу получить все комбинации данных из списка Python. Я новичок в Python и не получаю решение, которое я хочу. Заранее спасибо.

Я попробовал некоторый код с itertools.combinations, но я не получаю правильный вывод.

 input -> list1 = ['a', 'b']
 output -> ['a', 'b', 'ab', 'ba']

 input -> list1 = ['a', 'b', 'c']
 output -> ['a', 'b', 'c', 'ab', 'ac', 'abc', 'acb', 'ba', 'bc', 'bac', 'bca', 'ca', 'cb', 'cab', 'cba']
Автор: user7276674 Источник Размещён: 11.08.2019 07:42

Ответы (2)


0 плюса

1 Репутация автора

попробуйте использовать эту функцию из документов Python3:

def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))
Автор: Stanislav Lipovenko Размещён: 11.08.2019 08:10

1 плюс

67 Репутация автора

import itertools


def wombo_combo(s):
    out = []
    for j in range(len(s)):
        out += [''.join(i) for i in itertools.product(s, repeat=j+1)]
    return out


print(wombo_combo('ab'))
print(wombo_combo('abc'))
Автор: Omar Cusma Fait Размещён: 11.08.2019 08:20
Вопросы из категории :
32x32