Давно хотел сделать статью по функциям для работы со словарями Python. Я начал активно использовать Django и там все данные выводятся в виде списка из словарей. Если вам нужно привести значение переменной к словарю, то используйте dict(a). Если у вас список состоящий из словарей, то обращайтесь к каждому элементу списка dict(arr[0]). Я сделал примеры для понимания.
'''
dict.fromkeys(seq[, value]) - создает словарь с ключами
из seq (последовательности) и значением value (по умолчанию None)
'''
d = dict.fromkeys(['a','b','c'], 1)
#вывод
{'a': 1, 'b': 1, 'c': 1}
#генерация словарей, ключами являются числа
d = {a : a for a in range(7)}
#вывод
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}
#генерация словарей, ключём является строка
d = {'a'+ str(a) : a for a in range(7)}
#вывод
{'a0': 0, 'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4, 'a5': 5, 'a6': 6}
#в качестве значения для каждого ключа будет словарь
d = dict.fromkeys(['a','b','c'], {'lang': 'python'})
#вывод
{'a': {'lang': 'python'}, 'b': {'lang': 'python'}, 'c': {'lang': 'python'}}
#очистка словаря
d = {'a': 1}
c = d.clear()
print(d)
#вывод
{}
#возвращает копию словаря
d = {'a': 1}
c = d.copy()
print(c)
#вывод
{'a': 1}
'''
dict.get(key[, default]) - возвращает значение ключа, но если его нет,
не бросает исключение, а возвращает default (по умолчанию None)
'''
a = {'a': 1}
b = a.get('a1', 3)
#вывод
3
#возвращает пары (ключ, значение)
d = {'a': 1, 'b': 2}
for n in d.items():
print(n)
#вывод
('a', 1)
('b', 2)
'''
dict.pop(key[, default])
удаляет ключ и возвращает значение. Если ключа нет,
возвращает default (по умолчанию бросает исключение).
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.pop('c')
#вывод
print(d)
{'a': 1, 'b': 2}
'''
dict.popitem() - удаляет и возвращает пару (ключ, значение).
Если словарь пуст, бросает исключение KeyError.
Помните, что словари неупорядочены.
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.popitem()
#вывод
print(d)
{'c': 3, 'b': 2}
'''
dict.setdefault(key[, default]) - возвращает значение ключа,
но если его нет, не бросает исключение,
а создает ключ с значением default (по умолчанию None).
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.setdefault('e', 111)
print(d)
{'a': 1, 'b': 2, 'c': 3, 'e': 111}
'''
dict.update([other]) - обновляет словарь,
добавляя пары (ключ, значение) из other.
Существующие ключи перезаписываются.
Возвращает None (не новый словарь!)
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.update({'e': 333})
print(d)
#вывод
{'a': 1, 'b': 2, 'c': 3, 'e': 333}
'''
dict.values() - возвращает значения в словаре
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.values()
print(d)
#вывод
dict_values([1, 3, 2])