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



Pdf көрінісі
бет65/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   61   62   63   64   65   66   67   68   ...   238
УПРАЖНЕНИЯ

6-1 . Человек: используйте  словарь  для сохранения  информации об известном  вам чело-

веке . Сохраните имя, фамилию, возраст и город, в котором живет этот человек . Словарь 

должен содержать ключи с такими именами, как first_name, last_name, age и city . Выведите 

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

6-2 .  Любимые  числа:  используйте  словарь  для  хранения  любимых  чисел .  Возьмите  пять 

имен и используйте их как ключи словаря . Придумайте любимое число для каждого чело-

века и сохраните его как значение в словаре . Выведите имя каждого человека и его люби-

мое число . Чтобы задача стала более интересной, опросите нескольких друзей и соберите 

реальные данные для своей программы .

6-3 .  Глоссарий:  словари  Python  могут  использоваться  для  моделирования  «настоящего» 

словаря (чтобы не создавать путаницы, назовем его «глоссарием») .

•  Вспомните пять терминов из области программирования, которые вы  узнали в пре-

дыдущих главах . Используйте эти слова как ключи глоссария, а их определения — как 

значения .

•  Выведите  каждое  слово  и  его  определение  в  аккуратно  отформатированном  виде . 

Например, вы можете вывести слово, затем двоеточие и определение; или же слово 

в одной строке, а его определение — с отступом в следующей строке . Используйте 

символ новой строки (\n) для вставки пустых строк между парами «слово-определе-

ние» в выходных данных .

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

Словарь Python может содержать как несколько пар «ключ—значение», так и мил-

лионы таких пар. Поскольку в словаре может храниться большой объем данных, 

Python предоставляет средства для перебора элементов словаря. Информация 

может храниться в словарях по-разному, поэтому предусмотрены разные способы 

перебора. Программа может перебрать все пары «ключ—значение» в словаре, толь-

ко ключи или только значения.



108    Глава 6  •  Словари

Перебор всех пар «ключ—значение»

Прежде чем ознакомиться с разными способами перебора, рассмотрим новый 

словарь, предназначенный для хранения информации о пользователе веб-сайта. 

В следующем словаре хранится имя пользователя, его имя и фамилия:

user_0 = {

    'username': 'efermi',

    'first': 'enrico',

    'last': 'fermi',

    }


То,  что  вы  уже  узнали  в  этой  главе,  позволит  вам  обратиться  к  любому 

отдель


 

ному атрибуту 

user_0

. Но что если вы хотите просмотреть все данные 



из  словаря этого пользователя? Для этого можно воспользоваться перебором 

в цикле 


for

:

user.py

user_0 = {

'username': 'efermi',

'first': 'enrico',

'last': 'fermi',

}



for key, value in user_0.items():



    print("\nKey: " + key)

    print("Value: " + value)



Как мы видим в точке , чтобы написать цикл 

for


 для словаря, необходимо создать 

имена для двух переменных, в которых будет храниться ключ и значение из каждой 

пары «ключ—значение». Этим двум переменным можно присвоить любые имена — 

с короткими однобуквенными именами код будет работать точно так же:

for k, v in user_0.items()

Вторая половина команды 

for

 в точке  включает в себя имя словаря, за которым 



следует вызов метода 

items()


, возвращающий список пар «ключ—значение». Цикл 

for


 сохраняет компоненты пары в двух указанных переменных. В предыдущем при-

мере мы используем переменные для вывода каждого ключа 

v

, за которым следует 



связанное значение 

w



"\n"

 в первой команде 

print

 гарантирует, что перед каждой 



парой «ключ—значение» в выводе будет вставлена пустая строка:

Key: last

Value: fermi

Key: first

Value: enrico

Key: username

Value: efermi

Снова обратите внимание на то, что пары «ключ—значение» не возвращаются 

в порядке их хранения даже при переборе в словаре. Python не интересует порядок 



Перебор словаря    109

хранения пар «ключ—значение»; отслеживаются только связи между отдельными 

ключами и их значениями.

Перебор всех пар «ключ—значение» особенно хорошо работает для таких сло-

варей, как в примере 

favorite_languages.py

 на с. 106: то есть для словарей, хра-

нящих один вид информации со многими разными ключами. Перебрав словарь 

favorite_languages

, вы получите имя каждого человека и его любимый язык 

программирования. Так как ключ всегда содержит имя, а значение — язык про-

граммирования, в цикле вместо имен 

key

 и 


value

 используются переменные 

name

 

и 



language

. С таким выбором имен читателю кода будет проще следить за тем, что 

происходит в цикле:



Достарыңызбен бөлісу:
1   ...   61   62   63   64   65   66   67   68   ...   238




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

    Басты бет