Словари в Python 3 — основные методы и функции

Хранить информацию в Python можно несколькими способами. Один из них – словарь. Это объект класса dict, информация в котором представлена в двух форматах: значения и ключа, по которому его можно идентифицировать.Соответственно, чтобы получить доступ к определенному элементу словаря, необходимо знать его ключ. Сегодня мы более подробно рассмотрим особенности работы со словарями в Python.

Как сгенерировать объект класса «Словарь»?

Словари в Python хранятся в фигурных скобках, которые присваиваются переменной. Внутри фигурных скобок необходимо использовать ключ и значение в следующем формате.

dict_sample = {1: ‘mango’, 2: ‘pawpaw’}

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

dict_sample = {‘fruit’: ‘mango’, 1: [4, 6, 8]}

Создание словаря возможно также с использованием метода dict.

dict_sample = dict({1:’mango’, 2:’pawpaw’})

Или же создание словаря, если так необходимо, осуществляется с использованием последовательности, подобной следующему примеру.

dict_sample = dict([(1,’mango’), (2,’pawpaw’)])

Одна из характеристик словаря – вложенность. Это означает, что в качестве элементов словаря могут использоваться другие словари, как в этом примере.

dict_sample = {

1: {‘student1’: ‘Nicholas’, ‘student2’: ‘John’, ‘student3’: ‘Mercy’}, 

2: {‘course1’: ‘Computer Science’, ‘course2’: ‘Mathematics’, ‘course3’: ‘Accounting’}

}

Программист всегда может вывести содержимое словаря в консоль, использовав функцию print(). В качестве аргумента этой функции в данном случае необходимо использовать название словаря. 

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

print(dict_sample)

В результате выполнения этого кода будет в консоль выведена следующая строка.

{‘Company’: ‘Toyota’, ‘model’: ‘Premio’, ‘year’: 2012}

Взаимодействие с отдельными элементами словарей

Как вы уже поняли ранее, взаимодействие с определенными элементами словарей осуществляется через ключ. Чтобы получить нужный объект, используются квадратные скобки возле названия словаря. В них заключен ключ, представленный в числовом или текстовом формате.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

x = dict_sample[«model»] 

print(x)

В этом примере мы создали объект класса dict с названием dict_sample. После этого мы сгенерировали переменную x, значение которой соответствует значению элемента с ключом model. Теперь давайте приведем еще один пример.

dict = {‘Name’: ‘Mercy’, ‘Age’: 23, ‘Course’: ‘Accounting’} 

print(«Student Name:», dict[‘Name’]) 

print(«Course:», dict[‘Course’]) 

print(«Age:», dict[‘Age’])

Попробуйте догадаться, что в конечном итоге пойдет на вывод.

У словарей есть также метод get(), отвечающий за доступ к элементам словаря. Точно так же, как и другие методы, его необходимо добавлять к словарю через точку, а потом использовать в качестве аргумента ключ соответствующего элемента. 

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

x = dict_sample.get(«model»)

print(x)

Теперь вы владеете информацией о том, как осуществляется доступ к отдельным элементам словаря с использованием разнообразных методов. Далее мы поговорим о том, как добавлять новые объекты в словарь, который уже есть на данный момент. 

Осуществление добавления элементов

Есть множество методов, с помощью которых можно добавлять дополнительные элементы словаря. Например, можно вызвать элемент с ключом, которого нет, а потом передать ему нужное значение. Приведем фрагмент кода для примера.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

dict_sample[«Capacity»] = «1800CC» 

print(dict_sample)

Вывод консоли в этом случае будет следующим.

{‘Capacity’: ‘1800CC’, ‘year’: 2012, ‘Company’: ‘Toyota’, ‘model’: ‘Premio’}

Как мы видим, мы создали новый элемент со значением 180CC, найти который можно по ключу Capacity. Мы его добавили в качестве первого элемента словаря.

А теперь давайте приведем еще один пример. Сначала попробуем сгенерировать словарь, который не содержит вообще никаких значений. 

MyDictionary = {} 

print(«An Empty Dictionary: «) 

print(MyDictionary)

Никаких значений этот словарь не выдает, поскольку в нем не содержится никаких данных. А теперь давайте попробуем добавить к нему элементы.

MyDictionary[0] = ‘Apples’ 

MyDictionary[2] = ‘Mangoes’ 

MyDictionary[3] = 20 

print(«\n3 elements have been added: «) 

print(MyDictionary)

В результате выполнения этого кода мы получаем следующую строку в консоли.

3 elements have been added: {0: ‘Apples’, 2: ‘Mangoes’, 3: 20}

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

MyDictionary[0] = ‘Apples’

Здесь 0 – это не индекс, а ключ, а значение этого элемента – Apples

Также возможно добавление нескольких значений для элемента с одним ключом. Как в этом коде, например.

MyDictionary[‘Values’] = 1, «Pairs», 4 

print(«\n3 elements have been added: «) 

print(MyDictionary)

На вывод пойдет следующая строка.

3 elements have been added: {‘Values’: (1, ‘Pairs’, 4)}

Здесь в качестве названия ключа выступает Values, а его значения перечисляются через знак =.

Мы не только можем добавлять дополнительные элементы словаря, но и изменять уже существующие. Поговорим об этом более подробно.

Обновление элементов

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

Как в этом фрагменте кода.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

 

dict_sample[«year»] = 2014 

 

print(dict_sample)

На вывод пойдет следующее значение.

{‘year’: 2014, ‘model’: ‘Premio’, ‘Company’: ‘Toyota’}

Здесь мы отчетливо видим, что значение ключа year изменено на 2014. 

Как убрать элемент в словаре Python?

Есть несколько способов, с помощью которых пользователь может убрать элемент словаря. Рассмотрим некоторые из них подробнее. 

Чтобы удалить элемент, содержащий ключ, известный нам, используется ключевое слово del

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

}

del dict_sample[«year»] 

print(dict_sample)

Последовательность действий простая. Сначала осуществляется вызов ключа del, после чего идет название словаря. Затем идут квадратные скобки, необходимые для указания ключа элемента, который нам надо убрать. В нашем случае это – год выпуска машины. После того, как мы выполним этот код, сначала создается словарь, а потом запись «year» будет удалена из него. 

Второй способ, позволяющий удалить ключ, – использование метода pop, который относится непосредственно к словарю. В качестве аргумента этого метода используется ключ, который нам надо удалить вместе со значением. Как в этом случае.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

dict_sample.pop(«year») 

print(dict_sample)

Также можно воспользоваться методом popitem(), чтобы удалить элемент, являющийся последним в словаре. В этом случае никаких аргументов указывать не надо. Интерпретатор самостоятельно найдет последнее значение и удалит его. 

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

dict_sample.popitem() 

print(dict_sample)

В этом случае будет удален элемент, соответствующий году выпуска автомобиля. Как видим, все просто: достаточно вызвать функцию popitem()

Хорошо, а что если нам надо удалить словарь со всеми его элементами полностью? Как это сделать? Если использовать эти методы применительно к каждому ключу, на это может потребоваться немало времени. Зато можно воспользоваться ключевым словом del, применительно к целому словарю. Как в этом примере.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

del dict_sample 

print(dict_sample)

Этим фрагментом кода будет возвращена ошибка, поскольку функция print() пытается прочитать содержимое словаря, которого уже нет на момент ее исполнения. 

В некоторых ситуациях может понадобиться убрать все элементы словаря, но при этом самого его оставить. Для этого используется функция clear().

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

dict_sample.clear() 

print(dict_sample)

В результате исполнения этого кода будет возвращен пустой словарь, поскольку в нем уже не будет содержаться никаких элементов. Они ведь ранее были удалены. 

Иные методы словарей

Вообще, для работы со словарями используется целая совокупность методов. Рассмотрим некоторые из них вкратце.

  • len(). С его помощью программа может получить длительность словаря. Как в этом фрагменте кода.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

print(len(dict_sample))

Общее количество записей, которые есть в этом словаре, – 3. Следовательно, этот метод вернет значение 3.

  • copy(). С помощью этого метода осуществляется возврат копии существующего словаря. Как в этом примере кода.

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

x = dict_sample.copy() 

 

print(x)

  • items(). Этот метод используется для того, чтобы перебрать содержимое словаря. 

dict_sample = {

  «Company»: «Toyota», 

  «model»: «Premio», 

  «year»: 2012 

 

for k, v in dict_sample.items(): 

    print(k, v)

Как видим, работа со словарями делает создание программы более удобным для разработчика. В отличие от других объектов, содержащих большое количество данных, словари могут хранить не только индексы элементов для возможности получения доступа к ним, но и названия. Это делает разработку программы более простой.

ОфисГуру
Adblock
detector