Сочинять не так уж трудно, труднее всего — зачеркивать лишние ноты (Брамс).

Python 3 – Словарь

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
20 сентября 2017
Python 3 - Словарь
Каждая клавиша отделена от ее значения двоеточием (smile, элементы разделены запятыми, и все они заключены в фигурные скобки. Пустой словарь без каких-либо элементов пишется как две фигурные скобки, например: {}.

Ключи уникальны в пределах словаря в то же время как значения могут быть не уникальными. Значения словаря может быть любого типа, но ключи должны быть неизменного типа данных, такие как строки, числа и кортежи.

Доступ к значениям в словаре

Чтобы получить доступ к словарю элементов, вы можете использовать привычные квадратные скобки вместе с ключом, чтобы получить его значение. Ниже приведен простой пример:

#!/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
Примечание:
Функция del() обсуждается в следующем разделе.

Свойства ключей словаря

Значения в словаре не имеют каких-либо ограничений. Они могут быть любым произвольным объектом в 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.Описание функции
1cmp(dict1, dict2) – Больше не доступен в Python 3.
2len(dict) – Дает общую длину словаря. Он равен числу элементов в словаре.
3str(dict) – Произведет вывод строкового представление словаря
4type(variable) – Возвращает тип переданной переменной. Если передается переменная словаря, то он возвратит тип словаря.

 

Python включает в себя следующие методы словаря:

S.No.Метод & Описание
1dict.clear() – Удаляет все элементы словаря Dict
2dict.copy() – Возвращает неполную копию словаря Dict
3dict.fromkeys( – Создает новый словарь с ключами и значениями seq, values set для value.
4dict.get(key, default=None) – Для ключа key, возвращает значение или значение по умолчанию , если ключ не в словаре
5dict.has_key(key) – Удаленные, использовать операцию in вместо этого.
6dict.items() – Возвращает список словаря (key, value) пару кортеж
39dict.keys() – Возвращает список ключей словаря dict
33dict.setdefault(key, default = None) – Аналогично get(), но будет установлен dict[key] = default, если key уже не в словаре
9dict.update(dict2) – Добавляет словарь dict2 пару key-values в dict
10dict.values​() – Возвращает список значений словарей

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 86

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close