← Все вопросы
Как пройти по словарю и списку одновременно?
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() с дефолтом.
Ваш ответ
Войдите, чтобы ответить на вопрос.