Как реализовать подкладку данных при цикле for?
У меня есть нерабочий код с очевидными ошибками:
import time
names = ['Bob', 'Larry', 'Sean']
surnames = ['Baker', 'Holloway', 'Whitehorse']
for i in names and surnames:
print(i(names)
print(i(surnames))
time.sleep(3)
Что же я попытался сделать? Думаю все вполне очевидно, однако поясню: Я хотел чтобы программа вывела в print() Bob, а затем вывела Baker. На следующей итерации ожидаемым результатом был Larry и Holloway, и в последний раз по плану должно было выйти Sean и Whitehorse, однако сама проблема и так ясна.. Вопрос! Как же сделать код рабочим? Честно скажу, пытался додуматься сам, но добился лишь сильнейших головных болей.
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Используйте функцию zip:
import time
names = ['Bob', 'Larry', 'Sean']
surnames = ['Baker', 'Holloway', 'Whitehorse']
for name, surname in zip(names, surnames):
print(name)
print(surname)
time.sleep(3)
Автор решения: m_ocean
→ Ссылка
Согласен с принятым ответом, но вот, как добиться того же без использования zip:
assert len(names) == len(surnames) # Убедится, что массивы одинаковой длины.
for i in range(len(names)):
print(names[i])
print(surnames[i])