На этом шаге мы рассмотрим словари с точки зрения структур данных.
Словари Python хранят произвольное количество объектов, при этом каждый идентифицируется уникальным ключом. Словари также нередко называются ассоциативными массивами или таблицами соответствий и позволяют производить эффективный поиск, вставку и удаление любого объекта, связанного с заданным ключом.
В Python использование словарей в качестве типа данных запись или объекта данных вполне возможно. Словари в Python легко создаются, поскольку они имеют свой собственный синтаксический сахар, который встроен в язык в форме литералов словаря. Синтаксис словаря краток и довольно удобен для набора на клавиатуре.
Объекты данных, создаваемые с использованием словарей, могут изменяться, и при этом практически отсутствует защита от опечаток в именах полей, поскольку поля могут свободно добавляться и удаляться в любое время. Оба этих свойства способны добавить поразительные ошибки, и всегда существует компромисс между удобством и устойчивостью к ошибкам, которого нужно достигать.
>>> car1 = {
'цвет': 'красный',
'пробег': 3812.4,
'автомат': True,
}
>>> car2 = {
'цвет': 'синий',
'пробег': 40231,
'автомат': False,
}
# Словари имеют хороший метод repr:
>>> car2
{'цвет': 'синий', 'пробег': 40231, 'автомат': False}
# Получить пробег:
>>> car2['пробег']
40231
# Словари изменяемы:
>>> car2['пробег'] = 12
>>> car2['лобовое стекло'] = 'треснутое'
>>> car2
{'цвет': 'синий', 'пробег': 12, 'автомат': False, 'лобовое стекло': 'треснутое'}
# Отсутствует защита от неправильных имен полей
# или отсутствующих/лишних полей:
>>> car3 = {
'цвет': 'зеленый',
'автомат': False,
'лобовое стекло': 'треснутое',
}
На следующем шаге мы поговорим о кортежах.