dict
Словарь
{'1': 1}
dict(name=1)
d1, d2 = {"а": 1, "b": 2}, {"а": 3, "с": 4, "d": 5}
d1.keys() | d2.keys()
# объединение, {'a', 'c', 'b', 'd'}
d1.keys() - d2.keys()
# разница, {'b'}
d2.keys() | d1.keys()
# разница, {'c', 'd'}
d1.keys() & d2.keys()
# одинаковые ключи, {'a'}
d1.keys() ^ d2.keys()
# уникальные ключи, {'c', 'b', 'd'}
clear
()Очищает словарь
d = {'first': 'pervi', 'second': 'vtoroi'}
d.clear()
# d = {}
copy
()Возвращает словарь, копию
d = {'first': 'pervi', 'second': 'vtoroi'}
d.copy()
# {'second': 'vtoroi', 'first': 'pervi'}
fromkeys
(iter_object[, default_value=None])Возвращает dict
,
ключами которого являются элементы последовательности с дефолтным значением.
dict.fromkeys('abc')
# {'a': None, 'b': None, 'c', None}
get
(key[, default_value=None])Возвращает значение словаря по ключу
d = {'first': 'pervi', 'second': 'vtoroi'}
d.get('fif', 'fifa net')
# 'fifa net'
has_key
(key)Возвразает bool
, имеет ли словарь ключ
d = {'first': 'pervi', 'second': 'vtoroi'}
d.has_key('first')
# True
d.has_key('firsttttt')
# False
Warning
Вместо has_key рекомендуется использовать in
d = {'first': 'pervi', 'second': 'vtoroi'}
'first' in d
# True
'firsttttt' in d
# False
items
()Возвращает список кортежей (ключ, значение) элементов словаря.
Changed in version 3.x: возвращает объект dict_items
d = {'first': 'pervi', 'second': 'vtoroi'}
d.items()
# [('second', 'vtoroi'), ('first', 'pervi')]
iterkeys
()itervalues
()iteritems
()keys
()Возвращает список, ключи словаря
Changed in version 3.x: возвращает объект dict_keys
d = {'first': 'pervi', 'second': 'vtoroi'}
d.keys()
# ['second', 'first']
pop
(key[, default])Возвращает значение по ключу, удалив запись из словаря.
Если ключа нет, возвращается указанное дефолтное значение.
Если ключа нет и не указано дефолтное значение, возбуждается исключение KeyError
popitem
()Возвращает случайную пару (ключ, значение) из словаря, удаляя его из словаря.
{'first': 'pervi', 'second': 'vtoroi'}.popitem()
# ('first', 'pervi')
setdefault
(key[, default=None])Возвращает значение по ключу, если такого ключа нет, то возвращается дефолтное значение, при этом добавив в словарь новую запись.
d = {1 : 'One', 2 : 'Two', 3 : 'Three'}
d.setdefault(4, 'Four')
# 'Four'
d
# {1 : 'One', 2 : 'Two', 3 : 'Three', 4: 'Four'}
update
(key=value)update
(dict)update
([(key, value)])update
(((key, value), ))Обновляет словарь.
d = {"а": 1, "b": 2}
d.update(c=3, d=4)
# d = {'а': 1, 'с': 3, 'b': 2, 'd': 4}
d.update({"c": 10, "d": 20))
# d = {'а': 1, 'с': 10, 'Ь': 2, 'd': 20}
d.update([("d", 80), ("е", 6)])
# d = {'а': 1; 'с': 10, 'Ь': 2, 'е': б, 'd': 80}
values
()Возвращает список значений словаря
Changed in version 3.x: возвращает объект dict_values
d = {'first': 'pervi', 'second': 'vtoroi'}
d.values()
# ['vtoroi', 'pervi']
dict_items
Ключи и значения словаря в виде кортежей, который может быть получен с помощью метода словаря items.
New in version 3.x.
dict_keys
Ключи словаря, который может быть получен с помощью метода словаря keys.
New in version 3.x.
dict_values
Значения словаря, который может быть получен с помощью метода словаря values.
New in version 3.x.
{key:value for key, value in ((1,1), (2,2))}
# {1: 1, 2: 2}
d = {}
key = 3
value = 3
if key in d:
d[key].append(value)
else:
d[key] = [value]
# d = {3: [3]}
d = {}
key = 3
value = 3
d.setdefault(key, []).append(value)
# d = {3: [3]}
Во втором варианте, всю логику из Варианта 1 выполняет сам интерпретатор.
Что оптимальней и быстрее.