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



Pdf көрінісі
бет65/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   61   62   63   64   65   66   67   68   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 6 • Словари
Работа со словарями
Словарь
в языке Python представляет собой совокупность пар «ключ—значение». 
Каждый ключ связывается с некоторым значением, и программа может получить 
значение, связанное с заданным ключом. Значением может быть число, строка, 
список и даже другой словарь. Собственно, 
любой
объект, создаваемый в программе 
Python, может стать значением в словаре.
В Python словарь заключается в фигурные скобки 
{}
, в которых приводится по-
следовательность пар «ключ—значение», как в предыдущем примере:
alien_0 = {'color': 'green', 'points': 5}
Пара «ключ—значение»
представляет собой данные, связанные друг с другом. Если 
вы укажете ключ, то Python вернет значение, связанное с этим ключом. Ключ отде-
ляется от значения двоеточием, а отдельные пары разделяются запятыми. В словаре 
может храниться любое количество пар «ключ—значение».
Простейший словарь содержит ровно одну пару «ключ—значение», как в следу-
ющей измененной версии словаря 
alien_0
:
alien_0 = {'color': 'green'}
В этом словаре хранится ровно один фрагмент информации о пришельце 
alien_0

а именно — его цвет. Строка 
'color'
является ключом в словаре; с этим ключом 
связано значение 
'green'
.
Обращение к значениям в словаре
Чтобы получить значение, связанное с ключом, укажите имя словаря, а затем ключ 
в квадратных скобках:
alien_0 = {'color': 'green'}
print(alien_0['color'])
Эта конструкция возвращает значение, связанное с ключом 
'color'
, из словаря 
alien_0
:
green
Количество пар «ключ—значение» в словаре не ограничено. Например, вот как 
выглядит исходный словарь 
alien_0
с двумя парами «ключ—значение»:
alien_0 = {'color': 'green', 'points': 5}
Теперь программа может получить значение, связанное с любым из ключей 
в 
alien_0

color
или 
points
. Если игрок сбивает корабль пришельца, для получения 
заработанных им очков может использоваться код следующего вида:
alien_0 = {'color': 'green', 'points': 5}
 
new_points = alien_0['points']
 
print("You just earned " + str(new_points) + " points!")


Работа со словарями
103
После того как словарь будет определен, код 

извлекает значение, связанное 
с ключом 
'points'
, из словаря. Затем это значение сохраняется в переменной 
new_points
. Строка 

преобразует целое значение в строку и выводит сообщение 
с количеством заработанных очков:
You just earned 5 points!
Если этот код будет выполняться каждый раз, когда игрок сбивает очередного при-
шельца, программа будет получать правильное количество очков.
Добавление новых пар «ключ—значение»
Словари относятся к динамическим структурам данных: в словарь можно в любой 
момент добавлять новые пары «ключ—значение». Для этого указывается имя сло-
варя, за которым в квадратных скобках следует новый ключ с новым значением.
Добавим в словарь 
alien_0
еще два атрибута: координаты 
x
и 
y
для вывода изобра-
жения пришельца в определенной позиции экрана. Допустим, пришелец должен 
отображаться у левого края экрана, в 25 пикселах от верхнего края. Так как система 
экранных координат обычно располагается в левом верхнем углу, для размещения 
пришельца у левого края координата 
x
должна быть равна 0, а координата 
y
— 25:
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
 
alien_0['x_position'] = 0
 
alien_0['y_position'] = 25
print(alien_0)
Программа начинается с определения того же словаря, с которым мы уже работали 
ранее. После этого выводится «снимок» текущего состояния словаря. В точке 

в словарь добавляется новая пара «ключ—значение»: ключ 
'x_position'
и значе-
ние 
0
. То же самое делается для ключа 
'y_position'
в точке 

. При выводе изме-
ненного словаря мы видим две дополнительные пары «ключ—значение»:
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'y_position': 25, 'x_position': 0}
Окончательная версия словаря содержит четыре пары «ключ—значение». Первые 
две определяют цвет и количество очков, а другие две — координаты. Обратите 
внимание: порядок пар «ключ—значение» не соответствует порядку их добавления. 
Python не интересует, в каком порядке добавлялись пары; важна лишь связь между 
каждым ключом и его значением.
Создание пустого словаря
В некоторых ситуациях бывает удобно (или даже необходимо) начать с пустого 
словаря, а затем добавлять в него новые элементы. Чтобы начать заполнение пу-
стого словаря, определите словарь с пустой парой фигурных скобок, а затем добав-
ляйте новые пары «ключ—значение» (каждая пара в отдельной строке). Например, 
вот как строится словарь alien_0:


104

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




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

    Басты бет