Словарь Python: все, что вам нужно знать [с примерами]
Опубликовано: 2020-04-14Если вы работаете с Python, вы наверняка слышали о списках, строках и кортежах. Сегодня мы поговорим о еще одном важном элементе Python — словаре. После того, как вы закончите читать этот пост, вы должны иметь относительно хорошее представление о словарях Python, о том, как их создавать и как их использовать.
Оглавление
Что такое словарь Python?
В Python словарь — это реализация структуры данных, которая обычно называется ассоциативным массивом. Он содержит неорганизованный набор значений данных (например, карту). Однако, в отличие от других типов данных, которые содержат только одно значение в качестве элемента, значения данных, хранящиеся в словаре, содержат пару ключ:значение. Это помогает оптимизировать словарь. Каждая пара ключ: значение отображает уникальный ключ, связанный с его значением.
В словаре Python ключи уникальны, но значения могут быть уникальными, а могут и не быть. Хотя ключи должны иметь неизменяемый тип данных (строки, числа и кортежи), значения могут быть любого типа. Кроме того, в словаре Python ключи чувствительны к регистру. Таким образом, ключи с одинаковым именем, но в разных случаях обрабатываются по-разному.
Узнайте больше о: Типы данных Python
Словарь против списков
В Python словари и списки имеют как сходства, так и различия. Общие черты, общие для словарей и списков, включают:
- Они изменчивы.
- Они динамичны.
- Они могут быть вложены друг в друга — список может содержать другой список, а словарь может содержать другой словарь. Кроме того, список может содержать словарь и наоборот.
Основное различие между словарями и списками заключается в том, что доступ к элементам списка (в зависимости от их положения в списке) можно получить с помощью индексации, а доступ к элементам словаря осуществляется с помощью ключей.
Словарь Python — Методы
Теперь мы обсудим некоторые из наиболее часто используемых методов в словарях Python.
- copy() — возвращает неглубокую копию словаря.
- clear() — удаляет все элементы из словаря.
- type() — возвращает тип переданной переменной.
- pop() — удаляет и возвращает элемент из словаря после предоставления ключа.
- popitem() — удаляет и возвращает произвольный элемент (ключ, значение). Кроме того, он вызывает KeyError, если словарь пуст.
- get() — используется для доступа к значению ключа.
- items() – возвращает новое представление элементов словаря (ключ, значение).
- str() — генерирует строковое представление словаря для печати.
- pop(key[,d]) — удаляет элемент с ключом и возвращает его значение, а если ключ не найден, возвращает d . Однако, если d не указан и ключ не найден, возвращается KeyError .
- get(key[,d]) — возвращает значение ключа. Если ключ не существует, возвращается d (по умолчанию None ).
- fromkeys(seq[, v]) — возвращает новый словарь с ключами из seq и значением, равным v (по умолчанию None ).
- update([other]) — обновляет словарь парами ключ/значение из другого , перезаписывая существующие ключи.
Как создать словарь?
Вы можете создать словарь Python, заключив разделенный запятыми список пар ключ-значение в фигурные скобки { }. Двоеточие «:» отделяет каждый ключ от связанного с ним значения:
д = {
<ключ>: <значение>,
<ключ>: <значение>,
.
.
.
<ключ>: <значение>
}
Вы также можете использовать встроенную функцию dict() для создания словаря, например:
# пустой словарь
мой_дикт = {}
# словарь с целочисленными ключами
my_dict = {1: 'яблоко', 2: 'мяч'}
# словарь со смешанными ключами
my_dict = {'имя': 'Джон', 1: [2, 4, 3]}
# используя дикт()
my_dict = dict({1:'яблоко', 2:'мяч'})
# из последовательности, в которой каждый элемент является парой
my_dict = dict([(1,'яблоко'), (2,'мяч')])
Как получить доступ к элементам из словаря?
Чтобы получить доступ к элементу из словаря, вы должны обратиться к его ключевому имени. Вы можете использовать метод get() для извлечения элемента или указать имя ключа в квадратных скобках [ ]. Если ключ не найден в словаре, метод get() возвращает None вместо KeyError.
Вот пример кода, используемого для доступа к элементам из словаря:
#!/usr/бин/питон
dict = {'Имя': 'Зара', 'Возраст': 7, 'Класс': 'Первый'}
напечатать «дикт['Имя']: «, дикт['Имя']
print "dict['Возраст']: ", dict['Возраст']
Как добавить или изменить элементы в словаре?
Поскольку словари Python изменяемы, вы можете добавлять элементы или даже изменять значения существующих элементов, содержащихся в словаре. Элементы могут быть добавлены в словарь разными способами. Однако вы можете добавить в словарь одно значение за один раз, определив его вместе с его ключом.
Например, dict[key] = 'значение'. Чтобы обновить существующее значение в словаре, вы должны использовать встроенный метод update() . Вы должны помнить, что при добавлении значения в словарь, если значение уже существует, значение обновляется, иначе в словарь добавляется новый ключ со значением.

my_dict = {'имя':'Джек', 'возраст': 26}
# обновить значение
my_dict['возраст'] = 27
#Вывод: {'возраст': 27, 'имя': 'Джек'}
печать (мой_дикт)
# добавить элемент
my_dict['адрес'] = 'Центр города'
# Вывод: {'адрес': 'Центр', 'возраст': 27, 'имя': 'Джек'}
печать (мой_дикт)
Как удалить или удалить элементы из словаря?
Чтобы удалить или удалить элемент из словаря, вы можете использовать метод pop() . Он удалит конкретный элемент с предоставленным кетом и вернет значение. Вы также можете использовать метод popitem() для удаления и возврата произвольного элемента (ключа и значения) из словаря.
Если вы хотите удалить все элементы сразу, вы можете использовать метод clear() . Вы также можете использовать ключевое слово del для удаления отдельных элементов или метод del dict() для удаления всего словаря.
Пример использования метода del dict():
#!/usr/бин/питон
dict = {'Имя': 'Зара', 'Возраст': 7, 'Класс': 'Первый'}
del dict['Имя']; # удалить запись с ключом 'Имя'
дикт.очистить(); # удалить все записи в dict
дель дикт ; # удалить весь словарь
print "dict['Возраст']: ", dict['Возраст']
print "dict['Школа']: ", dict['Школа']
Также узнайте: Зарплата разработчиков Python в Индии
Как перебрать словарь?
В словаре Python вы можете выполнить цикл, используя цикл for . Когда вы перебираете словарь, ключи словаря являются возвращаемым значением.
Пример перебора словаря:
для x в этом словаре:
печать (х)
Читайте: Самые важные функции Python
Как проверить, присутствует ли ключ в словаре?
Вы можете использовать ключевое слово « in », чтобы проверить, присутствует ли определенный ключ в словаре, например:
этотдикт = {
«марка»: «Феррари»,
«модель»: «Daytone»,
«год»: «1968»
}
если «модель» в этом словаре:
print("Да, 'model' - один из ключей в словаре thisdict")
Как определить длину словаря?
Вы можете установить длину словаря, то есть определить, сколько элементов (пар ключ:значение) он будет иметь, используя метод len() , например:
печать (длина (thisdict))
Как скопировать словарь?
Вы можете скопировать словарь, используя встроенный метод copy() . Однако вы не можете скопировать словарь, набрав dict2 = dict1 , потому что dict2 будет только ссылкой на dict1 .
Вот пример использования метода copy() :
этотдикт = {
«марка»: «Форд»,
«модель»: «Мустанг»,
«год»: 1964
}
mydict = thisdict.copy()
печать (mydict)
Словарь Python: понимание
В Python понимание словаря — это простой и аккуратный способ создания нового словаря из итерируемого объекта. Он состоит из пары выражений (ключ: значение), за которой следует оператор for внутри фигурных скобок { }. Понимание словаря может содержать несколько операторов for или if .
Вот пример создания словаря, где каждый элемент представляет собой пару числа и его квадрата:
квадраты = {x: x*x для x в диапазоне (6)}
# Вывод: {0:0, 1:1, 2:4, 3:9, 4:16, 5:25}
печать (квадраты)
Подробнее: Библиотеки визуализации данных Python
Подведение итогов
Вот и все основные знания, которые вам нужно знать о словаре Python!
Если вам интересно узнать о Python, все о науке о данных, ознакомьтесь с сертификационными курсами upGrad по науке о данных, которые созданы для работающих профессионалов и предлагают более 10 тематических исследований и проектов, практические семинары, наставничество с отраслевыми экспертами, 1-на -1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.
Зачем нужны словари в Python?
Неупорядоченный набор значений данных — это словарь Python. Словари требуются в Python для хранения значений данных, как карты. Во всех других типах данных они могут содержать только одно значение в качестве элемента. Но словарь может содержать пару ключ:значение. Эта пара делает работу словаря немного более оптимизированной.
Для создания словаря в Python вам просто нужно поместить элементы в фигурные скобки, разделив их запятой. Значения в словаре могут повторяться и дублироваться, но вы не можете повторять ключи в словаре. Ключи в словаре чувствительны к регистру, поэтому даже два ключа с одинаковым именем, но в разных регистрах будут обрабатываться по-разному.
Что можно хранить в словаре Python?
Словари используются в Python для получения данных с помощью любого уникального ключа. Все, что вы можете сохранить в переменной Python, можно хранить в словаре Python. Вы даже можете вкладывать один словарь в другой, создавая списки. Напротив, ключи должны быть неизменяемыми.
Вы можете легко получить сохраненное значение, вызвав ключ, в котором хранится конкретное значение. Если вы внесете какие-либо изменения в возвращаемый список, это также повлияет на словарь. Нужно понимать, что значения, хранящиеся в словаре, и полученный список — это одни и те же объекты.
Чем отличаются Hashtable и Dictionary?
Hashtable — это неуниверсальная коллекция, а Dictionary — это общая коллекция значений данных. Вам разрешено хранить пары ключ-значение одного и того же, а также разных типов данных, в то время как в словаре вы можете хранить только пары ключ-значение одного и того же типа данных.
Поскольку в Hashtable есть упаковка и распаковка, процесс извлечения данных происходит медленнее по сравнению со словарем. В хеш-таблице не поддерживается порядок, но вы всегда будете видеть поддерживаемый порядок сохраненных значений в словаре.