Способы создания словарей в Python
В Python пустой словарь можно создать с помощью пустой пары фигурных скобок {}, а также вызовом конструктора класса dict() без аргументов.
"Классическим" вариантом заполнения словаря инициирующими записями при его создании является перечисление пар ключ:значение через запятую внутри фигурных скобок.
d = {'cat': 1, 'dog': 2, 'pig': 1}
Конструктор dict() позволяет создавать словарь, передавая записи в виде именованных аргументов. При таком варианте ключи всегда должны быть строками.
>>> d = dict(cat=3, dog=2, cow=1) >>> d {'cat': 3, 'dog': 2, 'cow': 1}
В общем случае dict() принимает любую последовательность (список, кортеж, итератор), состоящую из пар, первый элемент которых может выступать ключом словаря (то есть является неизменяемым объектом).
>>> a = [('cat', 1), ('dog', 3)] >>> z = zip(['cat','dog','pig'], (1, 3, 1)) >>> da = dict(a) >>> dz = dict(z) >>> da {'cat': 1, 'dog': 3} >>> dz {'cat': 1, 'dog': 3, 'pig': 1}
В языке программирования Python помимо списковых выражений ("генераторов" списков) существуют словарные выражения - dict comprehensions. В отличие от выражений, создающих списки, словарные заключаются в фигурные скобки. При этом в подвыражении до for должны стоять два объекта, разделенных двоеточием.
>>> d = {x: x*10 for x in range(4)} >>> d {0: 0, 1: 10, 2: 20, 3: 30}
Также словари в Python создаются с помощью классового метода fromkeys(iterable[, value]), копированием словарей методом copy() (см. Методы словарей).