Введение
Одной из полезных структур данных в Python является словарь. Словарь Python похож на список тем, что представляет собой набор объектов. Однако, в отличие от списка, словарь неизменяем, и доступ к значениям осуществляется через ключи словаря, а не через индексы. В других языках программирования словари могут называться «ассоциативными массивами». В этом руководстве вы научитесь создавать свои собственные словари на python, как получать доступ, добавлять или удалять элементы из них, а также общие встроенные методы.
Как создать словарь?
Словарь содержит пары ключ: значение и создается с помощью фигурных скобок «{}»с каждой ключ: значение, разделенное запятой. Каждый ключ сопоставляется с соответствующим значением. Значения могут иметь любой тип данных и могут дублироваться. С другой стороны, ключи должны быть уникальными и неизменными.
#creating an empty dictionary my_dict = {}
Теперь ваша очередь создать свой собственный пустой словарь. Откройте оболочку Python или создайте новый файл .py в своем любимом редакторе и введите следующий код.
Общий синтаксис следующий:
my_dict = {key1: value1, key2: value2, key3:value3, keyN: valueN}
Чтобы улучшить читаемость и свести к минимуму вероятность внесения ошибок, тот же код можно записать так:
my_dict = { key1: value1, key2: value2, key3: value3, keyN: valueN, }
Пример
Теперь, когда вы знаете, как создать словарь, давайте теперь рассмотрим пример, в котором мы создадим телефонный справочник с именами и номерами телефонов наших друзей.
telephone_directory = { "Pam": "087655", "Jane": "089655", "Jim": "086495", "Sandi": "08565", "Elvis": "089690", }
Доступ к значениям словаря
Допустим, теперь вы хотите проверить номер телефона Сэнди, вам нужно будет ввести следующую команду:
#print Sandi's phone number print(telephone_directory["Sandi"]) #output: 08565
Мы можем использовать цикл for для вывода всех значений в каталоге:
for name, num in telephone_directory.items(): print(name,":",num)
Смотрите скриншот кода ниже:
Вывод:
Если мы попытаемся получить доступ к значению, которого нет в словаре, будет возвращено сообщение KeyError. Попробуйте ввести в редакторе следующий код:
print(telephone_directory["Musa"])
Вывод:
Другим альтернативным способом доступа к значениям словаря является метод get().
#use the get method print(telephone_directory.get("Pam") #Output: 087655
При попытке получить доступ к несуществующему значению с помощью метода get() программа возвращает None вместо сообщения об ошибке.
#use get() to access invalid key print(telephone_directory.get("Musa") #Output: None
Метод get() позволяет указать второй аргумент, который будет напечатан вместо «None», если ключ не существует.
#specify message to be printed if key does not exist print(telephone_directory.get("Musa","Invalid key")) #Output: Invalid Key
Проверка длины словаря
Проверить длину словаря очень просто:
dict_len = len(telephone_directory) print(dict_len) #Output: 5
Добавление или изменение элементов словаря
В отличие от кортежей, словари изменяемы, то есть вы можете добавлять, изменять или удалять значения существующих элементов в словаре.
# changing the value print(telephone_directory) telephone_directory["Pam"] = "097552" print(telephone_directory) #adding new name telephone_directory["John"] = "0987654" print(telephone_directory)
Вывод:
Удаление элементов из словаря
Удаление элементов из словаря очень просто с помощью встроенных методов. Чтобы удалить определенный элемент из словаря, мы можем использовать метод pop(), который удаляет элемент для заданного ключа и возвращает значение.
#remove element using pop() print(telephone_directory.pop("Jane")) #Output: 089655
Метод popitem() удаляет последний элемент пары "ключ-значение" из словаря и возвращает его в виде кортежа:
#remove last item using popitem() method print(telephone_directory.popitem()) #Output: ('John', '0987654')
Чтобы удалить все элементы сразу, вы можете использовать метод clear():
#Delete all items in the dictionary telephone_directory.clear() print(telephone_directory) #Output: {}
Другие методы словаря
Ниже приведены встроенные методы, которые можно использовать со словарями.
- copy(): возвращает копию словаря.
- get(): возвращает значение указанного ключа.
- pop(): удаляет элемент, соответствующий указанному ключу.
- popitem(): удаляет последний вставленный элемент (пара значение-ключ).
- значения: возвращает список всех значений.
- items(): возвращает список с кортежем для каждой пары ключ-значение.
- type(): возвращает тип переменной.
- clear():удаляет все элементы из словаря.
- str(): возвращает строковое представление словаря.
- update(): обновляет словарь парой ключ-значение.
Подробнее
Поздравляем с прочтением руководства до конца. Теперь вы должны понимать основы структуры данных словаря в Python и иметь возможность создавать свой собственный словарь. Помните, лучший способ научиться — это практиковаться. Так что давай!