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

и они выбираются не с помощью смещения. Вместо этого для каждого значения вы

указываете связанный с ним уникальный ключ. Таким ключом в основном служит

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

менной, целым числом, числом с плавающей точкой, кортежем, строкой и другими

объектами, которые вы увидите далее. Словари можно изменять, что означает, что

вы можете добавить, удалить и изменить их элементы, которые имеют вид «ключ —

значение».

84

Глава 3. Наполнение Python: списки, кортежи, словари и множества

Если вы работали с другими языками программирования, которые поддержи-

вают только массивы и списки, то полюбите словари.

В других языках программирования словари могут называться ассоциативными массивами,

хешами или хеш-таблицей. В Python словарь также называется dict для экономии места.

Создание словаря с помощью {}

Чтобы создать словарь, вам нужно обернуть в фигурные скобки ({}) разделенные

запятыми пары ключ : значение. Самым простым словарем является пустой словарь,

не содержащий ни ключей, ни значений:

>>> empty_dict = {}

>>> empty_dict

{}

Создадим небольшой словарь, включающий цитаты из «Словаря сатаны»

Амброза Бирса:

>>> bierce = {

... "day": "A period of twenty-four hours, mostly misspent",

... "positive": "Mistaken at the top of one's voice",

... "misfortune": "The kind of fortune that never misses",

... }

>>>

Ввод имени словаря в интерактивный интерпретатор выведет все его ключи

и значения:

>>> bierce

{'misfortune': 'The kind of fortune that never misses',

'positive': "Mistaken at the top of one's voice",

'day': 'A period of twenty-four hours, mostly misspent'}

В Python допускается наличие запятой после последнего элемента списка, кортежа или

словаря. Вам также не обязательно использовать выделение пробелами, как я это сделал

в предыдущем примере, когда вы вводите ключи и значения внутри фигурных скобок. Это

лишь улучшает читабельность.

Преобразование с помощью функции dict()

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

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

тельностями «ключ — значение» вида «Стронций, 90, углерод, 14» или «Vikings, 20,

Packers, 7».) Первый элемент каждой последовательности применяется как ключ,

а второй — как значение.

Словари

85

Для начала рассмотрим небольшой пример, использующий lol (список, содер-

жащий списки, которые состоят из двух элементов):

>>> lol = [ ['a', 'b'], ['c', 'd'], ['e', 'f'] ]

>>> dict(lol)