Книга «Изучаем Python»



Pdf көрінісі
бет74/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   70   71   72   73   74   75   76   77   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

ПРИМЕЧАНИЕ
Глубина вложения списков и словарей не должна быть слишком большой . Если вам при-
ходится вкладывать элементы на глубину существенно бо
́
льшую, чем в предыдущих при-
мерах, или если вы работаете с чужим кодом со значительной глубиной вложения, скорее 
всего, у задачи существует более простое решение .


118
Глава 6 • Словари
Словарь в словаре
Словарь также можно вложить в другой словарь, но в таких случаях код быстро 
усложняется. Например, если на сайте есть несколько пользователей с уникаль-
ными именами, вы можете использовать имена пользователей как ключи в сло-
варе. Информация о каждом пользователе при этом хранится в словаре, который 
используется как значение, связанное с именем. В следующем примере о каждом 
пользователе хранятся три вида информации: имя, фамилия и место жительства. 
Чтобы получить доступ к этой информации, переберите имена пользователей 
и словарь с информацией, связанной с каждым именем:
many_users.py
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
 
for username, user_info in users.items():
 
print("\nUsername: " + username)
 
full_name = user_info['first'] + " " + user_info['last']
location = user_info['location']
 
print("\tFull name: " + full_name.title())
print("\tLocation: " + location.title())
В программе определяется словарь с именем 
users
, содержащий два ключа: для 
пользователей 
'aeinstein'
и 
'mcurie'
. Значение, связанное с каждым ключом, 
представляет собой словарь с именем, фамилией и местом жительства пользова-
теля. В процессе перебора словаря 
users
в точке 

Python сохраняет каждый ключ 
в переменной 
username
, а словарь, связанный с каждым именем пользователя, со-
храняется в переменной 
user_info
. Внутри основного цикла в словаре выводится 
имя пользователя 

.
В точке 

начинается работа с внутренним словарем. Переменная 
user_info
, со-
держащая словарь с информацией о пользователе, содержит три ключа: 
'first'

'last'
и 
'location'
. Каждый ключ используется для построения аккуратно от-
форматированных данных с полным именем и местом жительства пользователя, 
с последующим выводом сводки известной информации о пользователе 

:
Username: aeinstein 
Full name: Albert Einstein 
Location: Princeton 
Username: mcurie 
Full name: Marie Curie 
Location: Paris


Итоги
119
Обратите внимание на идентичность структур словарей всех пользователей. Хотя 
Python этого и не требует, наличие единой структуры упрощает работу с вложен-
ными словарями. Если словари разных пользователей будут содержать разные 
ключи, то код в цикле 
for
заметно усложнится.


Достарыңызбен бөлісу:
1   ...   70   71   72   73   74   75   76   77   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет