Как работать со списком в этом случае?

У меня есть 2 списка.

list_1 = [1,2,3,4,5,6,7,8,9,10]
list_2 = ["Игрок","Повар","Моряк","Солдат"]

Мне не обходимо совместить объекты из 2 списков таким образом.

1 - Игрок
2 - Повар
3 - Моряк
4 - Солдат

5 - Игрок
6 - Повар
7 - Моряк
8 - Солдат

9 - Игрок
10 - Повар

Ответы (1 шт):

Автор решения: Павел

Воспользуйтесь функциями zip и cycle:

from itertools import cycle

list_1 = [1,2,3,4,5,6,7,8,9,10]
list_2 = ["Игрок","Повар","Моряк","Солдат"]

print(dict(zip(list_1, cycle(list_2))))

# {1: 'Игрок', 2: 'Повар', 3: 'Моряк', 4: 'Солдат', 
#  5: 'Игрок', 6: 'Повар', 7: 'Моряк', 8: 'Солдат', 9: 'Игрок', 10: 'Повар'}

Если в итоге нужен список, а не словарь, то:

list(zip(list_1, cycle(list_2)))
# [(1, 'Игрок'), (2, 'Повар'), (3, 'Моряк'), (4, 'Солдат'), 
#  (5, 'Игрок'), (6, 'Повар'), (7, 'Моряк'), (8, 'Солдат'), (9, 'Игрок'), (10, 'Повар')]
→ Ссылка