#python #list #permutation
#python #Список #перестановка
Вопрос:
У меня есть следующая таблица:
table = [['5p,aa', '3p,ggg'], ['pippo,3', 'gigio,777']]
Я хочу сгенерировать для каждой строки все комбинации для каждой строки следующим образом:
5p,3p 5p,ggg aa,3p aa,ggg pippo,gigio pippo,777 3,gigio 3,777
Что вы предлагаете?
Комментарии:
1. Что на самом деле означает «у меня есть следующая таблица»? На каком языке? Это таблицы СУБД?
2. перестановки Google itertools
3. @GoBrewers14: Из желаемого результата они хотят
itertools.product
, даже если они говорят перестановки.
Ответ №1:
>>> import itertools
>>> table = [['5p,aa', '3p,ggg'], ['pippo,3', 'gigio,777']]
>>> rows = [[cell.split(',') for cell in row] for row in table]
>>> [list(itertools.product(*row)) for row in rows]
[[('5p', '3p'), ('5p', 'ggg'), ('aa', '3p'), ('aa', 'ggg')],
[('pippo', 'gigio'), ('pippo', '777'), ('3', 'gigio'), ('3', '777')]]