Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 64

В Python 3 вам также понадобится использовать функцию list(), чтобы преобразовать ре-

зультат работы функций values() и items() в обычные списки. Я пользуюсь этой функцией

в своих примерах.

Получение всех значений с помощью

функции values()

Чтобы получить все значения словаря, используйте функцию values():

>>> list(signals.values())

['go', 'smile for the camera', 'go faster']

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

с помощью функции items()

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

функцию items():

>>> list(signals.items())

[('green', 'go'), ('red', 'smile for the camera'), ('yellow', 'go faster')]

Каждая пара будет возвращена как кортеж вроде ('green', 'go').

Присваиваем значения с помощью

оператора =, копируем их с помощью

функции copy()

Как и в случае со списками, если вам нужно внести в словарь изменение, оно от-

разится для всех имен, которые ссылаются на него.

>>> signals = {'green': 'go', 'yellow': 'go faster', 'red': 'smile for the camera'}

>>> save_signals = signals

>>> signals['blue'] = 'confuse everyone'

>>> save_signals

{'blue': 'confuse everyone', 'green': 'go',

'red': 'smile for the camera', 'yellow': 'go faster'}

Множества

91

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

этого, вы можете воспользоваться функцией copy():

>>> signals = {'green': 'go', 'yellow': 'go faster', 'red': 'smile for the camera'}

>>> original_signals = signals.copy()

>>> signals['blue'] = 'confuse everyone'

>>> signals

{'blue': 'confuse everyone', 'green': 'go',

'red': 'smile for the camera', 'yellow': 'go faster'}

>>> original_signals

{'green': 'go', 'red': 'smile for the camera', 'yellow': 'go faster'}

Множества

Множество похоже на словарь, значения которого опущены. Он имеет только клю-

чи. Как и в случае со словарем, ключи должны быть уникальны. Если вам нужно

прикрепить к ключу некую информацию, воспользуйтесь словарем.

Раньше кое-где теорию множеств преподавали в начальной школе наряду с ос-

новами математики. Если в вашей школе такого не было (или было, но вы в это

время смотрели в окно, как и я), на рис. 3.1 можете увидеть объединения и пере-

сечения множеств.

Предположим, вы хотите объединить два множества, которые содержат не-

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

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

каждого ключа. Пустое множество — это множество, содержащее ноль элементов.