Каждый ключ отделяется от его значения двоеточием (:), элементы разделяются запятыми, а все это заключено в фигурные скобки. Пустой словарь без каких-либо элементов пишется с помощью двух фигурных скобок, например: {}.
Ключи являются уникальными в словаре, в то время как значения могут не быть. Значения словаря могут быть любого типа, но ключи должны быть неизменного типа данных, такого как строки, числа или кортежи.
Доступ к значениям в словаре
Чтобы получить доступ к элементам словаря, вы можете использовать знакомые квадратные скобки вместе с ключом, чтобы получить его значение. Ниже приведен простой пример —
#!/usr/bin/python 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/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Alice']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
Обновление словаря
Вы можете обновить словарь, добавив новую запись или пару ключ-значение, изменив существующую запись или удалив существующую запись, как показано ниже в простом примере —
#!/usr/bin/python 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/python 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/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} print "dict['Name']: ", dict['Name']
Когда приведенный выше код выполняется, он дает следующий результат —
dict['Name']: Manni
(б) Ключи должны быть неизменными. Это означает, что вы можете использовать строки, числа или кортежи в качестве ключей словаря, но что-то вроде [‘key’] не допускается. Ниже приведен простой пример —
#!/usr/bin/python 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: unhashable type: 'list'
Встроенные словарные функции и методы
Python включает в себя следующие функции словаря —
Sr.No. | Функция с описанием |
---|---|
1 | cmp (dict1, dict2)
Сравнивает элементы обоих dict. |
2 | Len (ДИКТ)
Дает общую длину словаря. Это будет равно количеству элементов в словаре. |
3 | ул (ДИКТ)
Создает печатное строковое представление словаря |
4 | Тип (переменная)
Возвращает тип переданной переменной. Если переданная переменная является словарем, то она возвращает тип словаря. |
Сравнивает элементы обоих dict.
Дает общую длину словаря. Это будет равно количеству элементов в словаре.
Создает печатное строковое представление словаря
Возвращает тип переданной переменной. Если переданная переменная является словарем, то она возвращает тип словаря.
Python включает следующие словарные методы —
Удаляет все элементы словаря dict
Возвращает мелкую копию словаря dict
Создайте новый словарь с ключами из seq и значениями, установленными в значение .
Для ключа key возвращает значение или значение по умолчанию, если ключ отсутствует в словаре
Возвращает true, если ключ в словаре dict , false в противном случае
Возвращает список пар кортежей dict (ключ, значение)
Возвращает список ключей словаря dict
Аналогичен get (), но установит dict [ключ] = по умолчанию, если ключ еще не в dict
Добавляет пары словарь-значение dict2 в dict
Возвращает список значений словаря dict