Как работать со списком в этом случае?
У меня есть 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, 'Повар')]