Как использовать сопрограммы для чередующейся печати между двумя списками?

1

У меня есть два коротких списка на питоне, и я новичок. Если бы кто-нибудь мог помочь мне в написании сопрограмм, которые меняли мои списки, печатав по одному пункту одновременно, это было бы очень полезно.

cars = ['BMW', 'Benz','Tesla']
veggies = ['Broccoli', 'Carrots', 'Spinach']
for item in cars:
    print(item)

for item in veggies:
    print(item)
  • 2
    Почему вы хотите использовать сопрограммы для этого?
Теги:
list

1 ответ

2
Лучший ответ

IIUC:

cars = ['BMW', 'Benz','Tesla']
veggies = ['Broccoli', 'Carrots', 'Spinach']
for i in zip(cars,veggies):
    print('\n'.join(i))

Или же:

cars = ['BMW', 'Benz','Tesla']
veggies = ['Broccoli', 'Carrots', 'Spinach']
for x,y in zip(cars,veggies):
    print(x)
    print(y)

Оба будут чередовать два списка

Короуты не нужны, нужны здесь

Если список имеет разную длину:

import itertools
for x,y in itertools.zip_longest(cars,veggies):
    print(x)
    print(y)
  • 2
    Я думаю, что вы должны хотя бы упомянуть, что вы (очевидно) не считаете сопрограммы необходимыми. Я также думаю, что ваш код будет лучше, если он обрабатывает списки, которые не имеют одинаковую длину.
  • 0
    @martineau Как насчет сейчас
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню