Как объединить и перебрать 5 или более списков в одном цикле?

  • 29 августа 2023 г. 14:26
Ответы на вопрос 5
Да, можно объединить и перебрать 5 или более списков в одном цикле, используя функцию `zip()` в комбинации со звездной операцией. Вот пример:

```python
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
list4 = [10, 11, 12]
list5 = [13, 14, 15]

for item1, item2, item3, item4, item5 in zip(list1, list2, list3, list4, list5):
    print(item1, item2, item3, item4, item5)
```

В данном примере мы объединяем 5 списков `list1`, `list2`, `list3`, `list4` и `list5` с помощью функции `zip()`, а затем в цикле `for` перебираем элементы каждого списка одновременно.

Таким образом, используя `zip()` и соответствующее количество переменных, вы можете перебрать 5 или более списков в одном цикле.
А что плохого в использовании цикла for с числом 5?
Как можно итерироваться одновременно по нескольким спискам? Вот пример:
list1 = list('abcdef')
list2 = list('klmnop')
list3 = list('uvwxyz')

for item1, item2, item3 in zip(list1, list2, list3):
    print(item1, item2, item3)
Как можно итерироваться последовательно по нескольким спискам? Вот пример:
import itertools

list1 = list('abcdef')
list2 = list('klmnop')
list3 = list('uvwxyz')

for item in itertools.chain(list1, list2, list3):
    print(item)
Как можно итерироваться по всем возможным комбинациям элементов из нескольких списков? Вот пример:
import itertools

list1 = list('abcdef')
list2 = list('klmnop')
list3 = list('uvwxyz')

for item1, item2, item3 in itertools.product(list1, list2, list3):
    print(item1, item2, item3)
Похожие вопросы