Словарь (dict) в Python — это ассоциативный массив или хеш. Это неупорядоченное множество пар ключ: значение с требованием уникальности ключей.
В отличие от последовательностей, доступ к элементам словаря производится по ключу, а не по индексу, ключ может быть любого типа, ключ не допускает изменений. Основные особенности словарей:
Чтобы работать со словарём, его нужно создать. Создать его можно несколькими способами:
В отличие от последовательностей, доступ к элементам словаря производится по ключу, а не по индексу, ключ может быть любого типа, ключ не допускает изменений. Основные особенности словарей:
- Доступ осуществляется по ключу, а не по индексу. По аналогии со списком, в словаре можно получить доступ к элементам в цикле по ключам;
- Значения словаря хранятся в неотсортированном порядке, более того, ключи могут храниться не в том порядке, в котором они добавляются;
- По аналогии со списками, словарь может хранить вложенные словари. Словарь может хранить в качестве значений объекты любого типа (heterogeneous). Ключ в словаре — immutable тип, может быть строкой, целым числом, float либо кортежем, состоящим из указанных типов.
- Словари реализованы как хеш-таблицы с быстрым доступом.
- Словари, так же как и списки, хранят ссылки на объекты, а не сами объекты.
Чтобы работать со словарём, его нужно создать. Создать его можно несколькими способами:
#1.C помощью литерала:
d = {}
print(d)
input()
#выведет: {}
d = {'dict': 1, 'dictionary': 2}
print(d)
input()
#выведет: {'dict': 1, 'dictionary': 2}
#2.C помощью функции dict:
d = dict(short='dict', long='dictionary')
print(d)
input()
#выведет: {'short': 'dict', 'long': 'dictionary'}
d = dict([(2, 1), (5, 6)])
print(d)
input()
#выведет: {2: 1, 5: 6}
#3.C помощью метода fromkeys:
d = dict.fromkeys(['a', 'b'])
print(d)
input()
#выведет: {'a': None, 'b': None}
d = dict.fromkeys(['a', 'b'], 100)
print(d)
input()
#выведет: {'a': 100, 'b': 100}
#4.C помощью генераторов словарей
d = {a: a ** 2 for a in range(7)}
print(d)
input()
#выведет:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36}
Функции/методы словаря
dict() — создание словаря;
len() — возвращает число пар;
clear() — удаляет все значения из словаря;
copy() — создает псевдокопию словаря;
deepcopy() — создает полную копию словаря;
fromkeys() — создание словаря;
get() — получить значение по ключу;
has_key() — проверка значения по ключу;
items() — возвращает список значений;
iteriyems() — возвращает итератор;
keys() — возвращает список ключей;
iterkeys() — возвращает итератор ключей;
pop() — извлекает значение по ключу;
popitem() — извлекает произвольное значение;
update() — изменяет словарь;
values() — возвращает список значений;
itervalues() — возвращает итератор на список значений.
in — оператор, проверяет наличие значения по ключу;
del — оператор, удаляет пару по ключу;
dict() — конструирует словарь с помощью последовательности.
Доступ к значениям словаря
Пример вывода значения определенного ключа словаря:
dict = {
"apple" : "яблоко",
"bold" : "жирный",
"bus" : "автобус",
"cat" : "кошка",
"car" : "автомобиль"}
print(dict["bus"])
input()
# выведет: автобус
Выведем все ключи и значения словаря в более или менее удобном для пользователя формате:
dict = {
"apple" : "яблоко",
"bold" : "жирный",
"bus" : "автобус",
"cat" : "кошка",
"car" : "автомобиль"}
for item in dict:
print(item, " => ", dict[item])
input()
# выведет:
apple => яблоко
bold => жирный
bus => автобус
cat => кошка
car => автомобиль
Доступ к значениям словаря похож на индексирование, только здесь мы вместо индекса используем ключ, а не номер элемента.
Если обратиться к ключу, которого нет в словаре, то будет сгенерировано сообщение об ошибке.
Словари в Python:
Если обратиться к ключу, которого нет в словаре, то будет сгенерировано сообщение об ошибке.
Словари в Python: