Комбинация для списка списков букв - PullRequest
0 голосов
/ 03 августа 2020

Как быстрее всего получить список комбинаций из списка списков букв? Я понимаю, что если список заполнен числами, я могу просто сделать это:

randomList = [[1,2,3],[4,5,6],[7,8,9]]
for el in itertools.product(*randomList):
        print(el)

Будет напечатано [1,4,7],[1,4,8]...[3,6,8],[3,6,9] Но когда я пробую это с буквами, функция просто не работает. Есть ли способ, чтобы это работало с буквами, или есть другой подход к этому. Я бы предпочел не определять функцию. Короче говоря, нужно что-то, что дает все комбинации randomList = [[A,B,C],[D,E,F],[G,H,I]]

[РЕДАКТИРОВАТЬ] -Спасибо людям, которые ответили, я не осознавал, что он регистрируется как переменные вместо строк

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Работает, думаю, вы не указали одинарные кавычки для букв.

import itertools

randomList = [[1,2,3],[4,5,6],[7,8,9]]
randomList = [['A','B','C'],['D','E','F'],['G','H','I']]
for el in itertools.product(*randomList):
        print(el)
0 голосов
/ 03 августа 2020

Это не сработает, возможно, потому что в определенном вами randomList нет алфавитов, но есть переменные, перечисленные как A, B, ...

randomList = [['A','B','C'],['D','E','F'],['G','H','I']]

Попробуйте это.

...