Каждый ключ отделяется от его значения двоеточием (:), элементы разделяются запятыми, а все это заключено в фигурные скобки. Пустой словарь без каких-либо элементов пишется с помощью двух фигурных скобок, например: {}.
Ключи являются уникальными в словаре, в то время как значения могут не быть. Значения словаря могут быть любого типа, но ключи должны быть неизменного типа данных, такого как строки, числа или кортежи.
Доступ к значениям в словаре
Чтобы получить доступ к элементам словаря, вы можете использовать знакомые квадратные скобки вместе с ключом, чтобы получить его значение. Ниже приведен простой пример —
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Name']: Zara dict['Age']: 7
Если мы пытаемся получить доступ к элементу данных с ключом, который не является частью словаря, мы получаем ошибку следующим образом:
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print ("dict['Alice']: ", dict['Alice'])
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Zara']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
Обновление словаря
Вы можете обновить словарь, добавив новую запись или пару ключ-значение, изменив существующую запись или удалив существующую запись, как показано в простом примере, приведенном ниже.
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # update existing entry dict['School'] = "DPS School" # Add new entry print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Age']: 8 dict['School']: DPS School
Удалить элементы словаря
Вы можете удалить отдельные элементы словаря или очистить все содержимое словаря. Вы также можете удалить весь словарь за одну операцию.
Чтобы явно удалить весь словарь, просто используйте оператор del . Ниже приведен простой пример —
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict['Name'] # remove entry with key 'Name' dict.clear() # remove all entries in dict del dict # delete entire dictionary print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
Это дает следующий результат.
Возникает исключение, потому что после del dict словарь больше не существует.
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
Примечание. Метод del () обсуждается в следующем разделе.
Свойства словарных ключей
Значения словаря не имеют ограничений. Это может быть любой произвольный объект Python, либо стандартные объекты, либо определяемые пользователем объекты. Однако то же самое не относится к ключам.
Есть два важных момента, которые следует помнить о словарных ключах —
(а) Более одной записи на ключ не допускается. Это означает, что дубликат ключа не допускается. Когда дубликаты ключей встречаются во время назначения, выигрывает последнее назначение. Например —
#!/usr/bin/python3 dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} print ("dict['Name']: ", dict['Name'])
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Name']: Manni
(б) Ключи должны быть неизменными. Это означает, что вы можете использовать строки, числа или кортежи в качестве ключей словаря, но что-то вроде [‘key’] не допускается. Ниже приведен простой пример —
#!/usr/bin/python3 dict = {['Name']: 'Zara', 'Age': 7} print ("dict['Name']: ", dict['Name'])
Когда приведенный выше код выполняется, он дает следующий результат —
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7} TypeError: list objects are unhashable
Встроенные словарные функции и методы
Python включает в себя следующие функции словаря —
Sr.No. | Описание функции |
---|---|
1 | cmp (dict1, dict2)
Больше не доступен в Python 3. |
2 | Len (ДИКТ)
Дает общую длину словаря. Это будет равно количеству элементов в словаре. |
3 | ул (ДИКТ)
Создает печатное строковое представление словаря |
4 | Тип (переменная)
Возвращает тип переданной переменной. Если переданная переменная является словарем, то она возвращает тип словаря. |
Больше не доступен в Python 3.
Дает общую длину словаря. Это будет равно количеству элементов в словаре.
Создает печатное строковое представление словаря
Возвращает тип переданной переменной. Если переданная переменная является словарем, то она возвращает тип словаря.
Python включает следующие словарные методы —
Удаляет все элементы словаря dict
Возвращает мелкую копию словаря dict
Создайте новый словарь с ключами из seq и значениями, установленными в значение .
Для ключа key возвращает значение или значение по умолчанию, если ключ отсутствует в словаре
Удалено, используйте вместо операции.
Возвращает список пар кортежей dict (ключ, значение)
Возвращает список ключей словаря dict
Аналогичен get (), но установит dict [ключ] = по умолчанию, если ключ еще не в dict
Добавляет пары словарь-значение dict2 в dict
Возвращает список значений словаря dict