dict(**kwarg) dict(mapping, **kwarg) dict(iterable, **kwarg)
kwarg
- ключевые аргументы one=1, two=2, three=3
iterable
- итерируемый объект, например [('two', 2), ('one', 1), ('three', 3)]
mapping
- карта(словарь), например {'three': 3, 'one': 1, 'two': 2}
Функция dict()
создаст словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.
Если позиционный аргумент не задан, создается пустой словарь. Если заданы позиционные аргументы и они являются объектами сопоставления ('one': 1
), создается словарь с теми же парами ключ-значение, что и объект сопоставления. В противном случае позиционный аргумент должен быть итерируемым объектом. Каждый элемент в массиве должен быть итерируемым с двумя объектами. Первый объект каждого элемента становится ключом в новом словаре, а второй объект-соответствующим значением. Если ключ встречается более одного раза, последнее значение для этого ключа становится соответствующим значением в новом словаре.
Если заданы ключевые аргументы и их значения добавляются в словарь, созданный из позиционных аргументов, то значение одинакового ключа из позиционного аргумента заменяется значением ключевого аргумента.
Предоставление ключевых аргументов dict(one=1, two=2, three=3)
работает только для ключей, которые являются действительными идентификаторами Python. В противном случае могут быть использованы любые действительные ключи.
Дополнительно смотрите:
# Все следующие выражения возвращают словарь {"one": 1, "two": 2, "three": 3} >>> a = dict(one=1, two=2, three=3) >>> a # {'one': 1, 'two': 2, 'three': 3} >>> b = {'one': 1, 'two': 2, 'three': 3} >>> b # {'one': 1, 'two': 2, 'three': 3} >>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) >>> c # {'one': 1, 'two': 2, 'three': 3} >>> d = dict([('two', 2), ('one', 1), ('three', 3)]) >>> d # {'one': 1, 'two': 2, 'three': 3} >>> e = dict({'three': 3, 'one': 1, 'two': 2}) >>> e # {'one': 1, 'two': 2, 'three': 3} >>> a == b == c == d == e) True