Перебрать все комбинации элементов без повторения

Есть список ["а", "б", "в", "г", "д"]. Нужно перебрать все комбинации этих элементов, при условии, что элемент не может повторятся в одной из комбинаций (это не взломщик паролей).

alf = ['а', 'б', 'в', 'г', 'д']

while True:
    slovo = ' '
    for i in range(len(alf)):
        slovo += str(alf[i])
print(slovo)

а потом застрял.


Ответы (1 шт):

Автор решения: Andrey

Ну, например, так:

import itertools

my_list = ["а", "б", "в", "г", "д"]
combinations = list(itertools.permutations(my_list, len(my_list)))

for combination in combinations:
    print(combination)
→ Ссылка