Каждая клавиша отделена от ее значения двоеточием (:), элементы разделены запятыми, и все они заключены в фигурные скобки. Пустой словарь без каких-либо элементов пишется как две фигурные скобки, например: {}.
Ключи уникальны в пределах словаря в то же время как значения могут быть не уникальными. Значения словаря может быть любого типа, но ключи должны быть неизменного типа данных, такие как строки, числа и кортежи.
Чтобы получить доступ к словарю элементов, вы можете использовать привычные квадратные скобки вместе с ключом, чтобы получить его значение. Ниже приведен простой пример:
#!/usr/bin/python3 dict = {'Name': 'AndreyEx', 'Age': 39, 'Class': 'Next'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
Когда этот код выполниться, он производит следующий результат:
dict['Name']: AndreyEx dict['Age']: 39
Если мы попытаемся получить доступ к элементу данных с помощью ключа, который не является частью словаря, мы получаем ошибку следующим образом:
#!/usr/bin/python3 dict = {'Name': 'AndreyEx', 'Age': 39, 'Class': 'Next'}; print "dict['Alice']: ", dict['Alice']
Когда этот код выполниться, он произведет следующий результат:
dict['AndreyEx']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
Вы можете обновить словарь, добавив новый элемент или пару ключ-значение, изменить существующую запись или удалить существующую запись, как показано на простом примере, приведенном ниже.
#!/usr/bin/python3 dict = {'Name': 'AndreyEx', 'Age': 39, 'Class': 'Next'} dict['Age'] = 33; # обновление существующей записи dict['Coder'] = "DPS Coder" # добавление новой записи print ("dict['Age']: ", dict['Age']) print ("dict['Coder']: ", dict['Coder'])
Когда этот код выполниться, он произведет следующий результат:
dict['Age']: 33 dict['Coder']: DPS Coder
Вы можете либо удалить отдельные элементы словаря или очистить все содержимое словаря. Вы также можете удалить весь словарь в одной операции.
Чтобы явно удалить весь словарь, просто используйте заявление del. Ниже приведен простой пример:
#!/usr/bin/python3 dict = {'Name': 'AndreyEx', 'Age': 39, 'Class': 'Next'} del dict['Name'] # удалить запись с ключом 'Name' dict.clear() # удалить все записи в словаре del dict # весь удалить словарь print ("dict['Age']: ", dict['Age']) print ("dict['Coder']: ", dict['Coder'])
Это приводит к следующему результату.
Возбуждается исключение, потому что после того, как del dict, словарь больше не существует.
dict['Age']: Traceback (most recent call last): File "test.py", line 33, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
Значения в словаре не имеют каких-либо ограничений. Они могут быть любым произвольным объектом в Python, либо стандартные объекты или определенные пользователем объекты. Однако, это не относится к клавишам.
Есть два важных момента, о которых необходимо помнить для ключей в словаре:
(а) Более чем одна запись в ключе не допускается. Это означает, что не дубликат ключа не допускается. При одинаковых ключей встречаются во время задания, последнее назначение выигрывает. Например:
#!/usr/bin/python3 dict = {'Name': 'AndreyEx', 'Age': 39, 'Name': 'Destroyer'} print ("dict['Name']: ", dict['Name'])
Когда этот код выполниться, он произведет следующий результат:
dict['Name']: Destroyer
(б) Ключи должны быть неизменными. Это означает, что вы можете использовать строки, числа или кортежи в качестве ключей словаря, но что – то вроде [‘key’] не допускается. Ниже приведен простой пример:
#!/usr/bin/python3 dict = {['Name']: 'AndreyEx', 'Age': 39} print ("dict['Name']: ", dict['Name'])
Когда этот код выполниться, он выведет следующий результат:
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'AndreyEx', 'Age': 39} TypeError: list objects are unhashable
Python включает в себя следующие функции словаря:
S.No. | Описание функции |
---|---|
1 | cmp(dict1, dict2) – Больше не доступен в Python 3. |
2 | len(dict) – Дает общую длину словаря. Он равен числу элементов в словаре. |
3 | str(dict) – Произведет вывод строкового представление словаря |
4 | type(variable) – Возвращает тип переданной переменной. Если передается переменная словаря, то он возвратит тип словаря. |
Python включает в себя следующие методы словаря:
S.No. | Метод & Описание |
---|---|
1 | dict.clear() – Удаляет все элементы словаря Dict |
2 | dict.copy() – Возвращает неполную копию словаря Dict |
3 | dict.fromkeys( – Создает новый словарь с ключами и значениями seq, values set для value. |
4 | dict.get(key, default=None) – Для ключа key, возвращает значение или значение по умолчанию , если ключ не в словаре |
5 | dict.has_key(key) – Удаленные, использовать операцию in вместо этого. |
6 | dict.items() – Возвращает список словаря (key, value) пару кортеж |
39 | dict.keys() – Возвращает список ключей словаря dict |
33 | dict.setdefault(key, default = None) – Аналогично get(), но будет установлен dict[key] = default, если key уже не в словаре |
9 | dict.update(dict2) – Добавляет словарь dict2 пару key-values в dict |
10 | dict.values() – Возвращает список значений словарей |