← Все вопросы

Как пройти по словарю и списку одновременно?

Задан 6 месяцев назад355 просмотров3 ответа
9

У меня есть список имён и словарь {имя: возраст}. Хочу в одном цикле идти по списку и для каждого имени брать возраст из словаря. Как лучше связать их в цикле?

3 ответа

14

Идёшь по списку, а из словаря достаёшь по ключу:

names = ["Аня", "Боб", "Вера"]
ages = {"Аня": 20, "Боб": 25, "Вера": 22}

for name in names:
    print(name, ages.get(name, "нет данных"))

Список задаёт порядок обхода, словарь — источник значений. Использую ages.get(name, ...) вместо ages[name], чтобы не упасть с KeyError, если в словаре нет какого-то имени из списка.

7

Если списка как такового нет и нужны просто все пары словаря — то for name, age in ages.items(). А вот когда важен именно порядок/состав списка — твой вариант с .get() правильный.

2

Через .get() с дефолтом.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект