dict

dict

class 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

Предупреждение

Вместо has_key рекомендуется использовать in

d = {'first': 'pervi', 'second': 'vtoroi'}
'first' in d
# True

'firsttttt' in d
# False
items()

Возвращает список кортежей (ключ, значение) элементов словаря.

Изменено в версии 3.x: возвращает объект dict_items

d = {'first': 'pervi', 'second': 'vtoroi'}
d.items()
# [('second', 'vtoroi'), ('first', 'pervi')]
iterkeys()
itervalues()
iteritems()
keys()

Возвращает список, ключи словаря

Изменено в версии 3.x: возвращает объект dict_keys

d = {'first': 'pervi', 'second': 'vtoroi'}
d.keys()
# ['second', 'first']
pop(key[, default])

Возвращает значение по ключу, удалив запись из словаря.

  • Если ключа нет, возвращается указанное дефолтное значение.
  • Если ключа нет и не указано дефолтное значение, возбуждается исключение KeyError
popitem()

Возвращает случайную пару (ключ, значение) из словаря, удаляя его из словаря.

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()

Возвращает список значений словаря

Изменено в версии 3.x: возвращает объект dict_values

d = {'first': 'pervi', 'second': 'vtoroi'}
d.values()
# ['vtoroi', 'pervi']

dict_items

class dict_items

Ключи и значения словаря в виде кортежей, который может быть получен с помощью метода словаря items.

Добавлено в версии 3.x.

dict_keys

class dict_keys

Ключи словаря, который может быть получен с помощью метода словаря keys.

Добавлено в версии 3.x.

dict_values

class dict_values

Значения словаря, который может быть получен с помощью метода словаря values.

Добавлено в версии 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 выполняет сам интерпретатор.

Что оптимальней и быстрее.