Как перебрать все комбинации из списка списков?
Есть некий список:
[
[1, 2],
[4, 5, 6],
[7]
]
Все списки могут иметь любую длину
Как получить всевозможные комбинации? Например:
1, 4, 7;
1, 5, 7;
2, 5, 7;
2, 6, 7;
Ответы (1 шт):
Автор решения: frrusi
→ Ссылка
Ваш вопрос заключается в Декартовом произведении. В Python за это отвечает itertools.product.
На него уже отвечали. Цитирую ответ Kenan Banks:
import itertools
nested_lists = [
[1, 2],
[4, 5, 6],
[7]
]
for part in itertools.product(*nested_lists):
print(part)
Что равносильно
for part in itertools.product([1, 2], [4, 5, 6], [7]):
print(part)