Работа со
словарями
105
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position: " + str(alien_0['x_position']))
Сначала определяется словарь с исходной позицией (координаты
x
и
y
) и ско-
ростью
'medium'
. Значения цвета и количества очков для простоты опущены, но
с ними этот пример работал бы точно так же. Также выводится исходное значение
x_position
.
В точке
цепочка
if
-
elif
-
else
определяет, на какое расстояние пришелец должен
переместиться вправо; полученное значение сохраняется в переменной
x_increment
.
Если пришелец двигается медленно (
'slow'
), то он перемещается на одну единицу
вправо; при средней скорости (
'medium'
) он перемещается на две единицы вправо;
наконец, при высокой скорости (
'fast'
) он перемещается на три единицы вправо.
Вычисленное смещение прибавляется к значению
x_position
в
, а результат со-
храняется в
словаре с ключом
x_position
.
Для пришельца со средней скоростью позиция смещается на две единицы:
Original x-position: 0
New x-position: 2
Получается, что изменение одного значения в словаре изменяет все поведение при-
шельца. Например, чтобы превратить пришельца со средней скоростью в быстрого,
добавьте следующую строку:
alien_0['speed'] = fast
При следующем выполнении кода блок
if
-
elif
-
else
присвоит
x_increment
большее
значение.
Удаление пар «ключ—значение»
Когда информация, хранящаяся в словаре, перестает быть ненужной, пару «ключ—
значение» можно полностью удалить при помощи команды
del
. При вызове до-
статочно передать имя словаря и удаляемый ключ.
Например, в следующем примере из словаря
alien_0
удаляется ключ
'points'
вместе со значением:
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['points']
print(alien_0)
Строка
приказывает Python удалить ключ
'points'
из словаря
alien_0
, а также
удалить значение, связанное с этим ключом. Из вывода видно, что ключ
'points'
и его значение 5 исчезли из словаря, но остальные данные остались без измене-
ний:
{'color': 'green', 'points': 5}
{'color': 'green'}