Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
Глава 6 • Словари
Перебор всех значений в словаре
Если вас прежде всего интересуют значения, содержащиеся в словаре, используйте
метод
values()
для получения списка значений без ключей. Допустим, вы хотите
просто получить список всех языков, выбранных в опросе, и вас не интересуют
имена людей, выбравших каждый язык:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
print("The following languages have been mentioned:")
for language in favorite_languages.values():
print(language.title())
Команда
for
читает каждое значение из словаря и сохраняет его в переменной
language
. При выводе этих значений будет получен список всех выбранных языков:
The following languages have been mentioned:
Python
C
Python
Ruby
Значения извлекаются из словаря без проверки на возможные повторения. Для не-
больших словарей это может быть приемлемо, но в опросах с большим количеством
респондентов список будет содержать слишком много дубликатов. Чтобы получить
список выбранных языков без повторений, можно воспользоваться
множеством (set).
Множество в целом похоже на список, но все его элементы должны быть уникальными:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
print("The following languages have been mentioned:")
for language in set(favorite_languages.values()):
print(language.title())
Когда список, содержащий дубликаты, заключается в вызов
set()
, Python находит
уникальные элементы списка и строит множество из этих элементов. В точке
set()
используется для извлечения уникальных языков из
favorite_languages.
values()
. В результате создается не содержащий дубликатов список языков про-
граммирования, упомянутых участниками опроса:
The following languages have been mentioned:
Python
C
Ruby
Вложение
113 В ходе дальнейшего изучения Python вы часто будете обнаруживать встроенные
возможности языка, которые помогают сделать с данными именно то, что вам
требуется.