Перебор
словаря
109
хранения пар «ключ—значение»; отслеживаются только связи между отдельными
ключами и их значениями.
Перебор всех пар «ключ—значение» особенно хорошо работает для таких сло-
варей, как в примере
favorite_languages.py
на с. 106: то есть для словарей, хра-
нящих один вид информации со многими разными ключами. Перебрав словарь
favorite_languages
, вы получите имя каждого человека и его любимый язык
программирования. Так как ключ всегда содержит имя, а значение — язык про-
граммирования, в цикле вместо имен
key
и
value
используются переменные
name
и
language
. С таким выбором имен читателю кода будет проще следить за тем, что
происходит в цикле:
favorite_languages.py
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language.title() + ".")
Код в точке
приказывает Python перебрать все пары «ключ—значение» в словаре.
В процессе перебора пар ключ сохраняется в переменной
name
, а значение — в пере-
менной
language
. С этими содержательными именами намного проще понять, что
делает
команда
print
в точке
.
Всего в нескольких строках кода выводится вся информация из опроса:
Jen's favorite language is Python.
Sarah's favorite language is C.
Phil's favorite language is Python.
Edward's favorite language is Ruby.
Такой способ перебора точно так же работает и в том случае, если в словаре будут
храниться результаты опроса тысяч и даже миллионов людей.
Перебор
всех ключей в словаре
Метод
keys()
удобен в тех случаях, когда вы не собираетесь работать со всеми
значениями в словаре. Переберем словарь
favorite_languages
и выведем имена
всех людей, участвовавших в опросе:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys():
print(name.title())