У меня есть список кортежей, которые я пытаюсь получить, объединяя отдельные элементы кортежа.Получите список списков кортежей, объединив элементы кортежа?
Например:
lists = [
[(1,), (2,), (3,)],
[(4,), (5,), (6,)]
]
p = itertools.product(*lists)
for product in p:
print product
Это приводит в кучу кортежей кортежей:
((1,), (4,))
((1,), (5,))
((1,), (6,))
((2,), (4,))
((2,), (5,))
((2,), (6,))
((3,), (4,))
((3,), (5,))
((3,), (6,))
То, что я хочу, это список кортежей, как так:
(1,4)
(1,5)
(1,6)
(2,4)
(2,5)
(2,6)
(3,4)
(3,5)
(3,6)
Мне также нужно, чтобы это было для любого количества исходных списков кортежей.
Таким образом, в случае 3:
lists = [
[(1,), (2,), (3,)],
[(4,), (5,), (6,)],
[(7,), (8,), (9,)]
]
p = itertools.product(*lists)
for product in p:
print product
Я хотел бы:
(1, 4, 7)
(1, 4, 8)
(1, 4, 9)
(1, 5, 7)
(1, 5, 8)
(1, 5, 9)
(1, 6, 7)
(1, 6, 8)
(1, 6, 9)
(2, 4, 7)
(2, 4, 8)
(2, 4, 9)
(2, 5, 7)
(2, 5, 8)
(2, 5, 9)
(2, 6, 7)
(2, 6, 8)
(2, 6, 9)
(3, 4, 7)
(3, 4, 8)
(3, 4, 9)
(3, 5, 7)
(3, 5, 8)
(3, 5, 9)
(3, 6, 7)
(3, 6, 8)
(3, 6, 9)
Это относится к списку размеров n? – PyNEwbie
@PyNEwbie Да, это так. – thefourtheye
Прохладный, я должен был сделать это, прежде чем я спросил - это выглядит круто – PyNEwbie