М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет85/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   81   82   83   84   85   86   87   88   ...   334
Байланысты:
Изучаем Python

УПРАЖНЕНИЯ
6.1. Человек:
используйте словарь для сохранения информации об известном вам челове-
ке. Сохраните имя, фамилию, возраст и город, в котором живет этот человек. Словарь дол-
жен содержать ключи с такими именами, как 
first_name

last_name

age
и 
city
. Выведите 
каждый фрагмент информации, хранящийся в словаре.


114
Глава 6 • Словари
6.2. Любимые числа:
используйте словарь для хранения любимых чисел. Возьмите пять 
имен и используйте их как ключи словаря. Придумайте любимое число для каждого чело-
века и сохраните его как значение в словаре. Выведите имя каждого человека и его люби-
мое число. Чтобы задача стала более интересной, опросите нескольких друзей и соберите 
реальные данные для своей программы.
6.3. Глоссарий: 
словари Python могут использоваться для моделирования «настоящего» 
словаря (чтобы не создавать путаницу, назовем его глоссарием):
• Вспомните пять терминов из области программирования, которые вы узнали в пре-
дыдущих главах. Используйте эти слова как ключи глоссария, а их определения — 
как значения.
• Выведите каждое слово и его определение в аккуратно отформатированном виде. 
Например, вы можете вывести слово, затем двоеточие и определение или же слово 
в одной строке, а его определение — с отступом в следующей строке. Используйте 
символ новой строки 
(\n)
для вставки пустых строк между парами «слово — опре-
деление» в выходных данных.
Перебор словаря
Словарь Python может содержать как несколько пар «ключ-значение», так и мил-
лионы таких пар. Поскольку словарь может содержать большие объемы данных, 
Python предоставляет средства для перебора элементов словаря. Информация 
может храниться в словарях по-разному, поэтому предусмотрены разные способы 
перебора. Программа может перебрать все пары «ключ-значение» в словаре, только 
ключи или только значения.
Перебор всех пар «ключ-значение»
Прежде чем рассматривать разные способы перебора, рассмотрим новый словарь, 
предназначенный для хранения информации о пользователе веб-сайта. В следую-
щем словаре хранится имя пользователя, его имя и фамилия:
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
То, что вы уже узнали в этой главе, позволит вам обратиться к любому отдельному 
атрибуту 
user_0
. Но что, если вы хотите просмотреть 
все
данные из словаря этого 
пользователя? Для этого можно воспользоваться перебором в цикле 
for
:
user.py
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',


Перебор словаря
115
}

for key, value in user_0.items():

print(f"\nKey: {key}")

print(f"Value: {value}")
Как мы видим в точке 

, чтобы написать цикл 
for
для словаря, необходимо соз-
дать имена для двух переменных, в которых будет храниться ключ и значение из 
каждой пары «ключ-значение». Этим двум переменным можно присвоить любые 
имена — с короткими однобуквенными именами код будет работать точно так же:
for k, v in user_0.items()
Вторая половина команды 
for
в точке 

включает имя словаря, за которым следует 
вызов метода 
items()
, возвращающий список пар «ключ-значение». Цикл 
for
со-
храняет компоненты пары в двух указанных переменных. В предыдущем примере 
мы используем переменные для вывода каждого ключа 

, за которым следует 
связанное значение 


"\n"
в первой команде 
print
гарантирует, что перед каждой 
парой «ключ-значение» в выводе будет вставлена пустая строка:
Key: last
Value: fermi
Key: first
Value: enrico
Key: username
Value: efermi
Перебор всех пар «ключ-значение» особенно хорошо работает для таких словарей, 
как в примере 
favorite_languages.py
на с. ___: то есть для словарей, хранящих 
один вид информации со многими разными ключами. Перебрав словарь 
favorite_
languages
, вы получите имя каждого человека и его любимый язык программиро-
вания. Так как ключ всегда содержит имя, а значение — язык программирования, 
в цикле вместо имен 
key
и 
value
используются переменные 
name
и 
language
. С таким 
выбором имен читателю кода будет проще следить за тем, что происходит в цикле:


Достарыңызбен бөлісу:
1   ...   81   82   83   84   85   86   87   88   ...   334




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

    Басты бет