Перебор словаря и вложенные структуры
Содержание курса
Перебор пар ключ-значение через items()
Методы keys() и values() дают доступ лишь к одной стороне словаря за раз. Но чаще всего нужно и имя, и значение одновременно — например, чтобы вывести «Анна: 5». Именно для этого существует items().
Метод возвращает представление, где каждый элемент — это пара (ключ, значение). В цикле for эта пара автоматически распаковывается в две переменные:
grades = {'Анна': 5, 'Боб': 4, 'Вера': 3}
for name, grade in grades.items():
print(f'{name}: {grade}')
Вывод:
Анна: 5 Боб: 4 Вера: 3
Запись for name, grade in grades.items() работает потому, что Python распаковывает каждую пару точно так же, как распаковывает кортеж: два элемента — две переменные. Имена переменных здесь произвольные, но принято называть их по смыслу ключа и значения.
В отличие от keys() или values(), внутри цикла доступны обе части пары сразу — это и есть главное преимущество items(). Вы можете использовать name и grade независимо, строить f-строки, сравнивать, передавать в функции.
Практический критерий выбора прост:
- Нужны только ключи —
keys()(или простоfor k in d). - Нужны только значения —
values(). - Нужны и ключ, и значение —
items().
