Словари Python

Словарь (Dictionary)

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

Пример

Создание и печать словаря:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Запуск примера

Доступ к элементам

Вы можете получить доступ к элементам словаря, указав имя ключа в квадратных скобках:

Пример

Получение значения ключа "model":

x = thisdict["model"]

Запуск примера

Существует еще один метод под названием get() Метод дает вам такой же результат:

Пример

Получение значения ключа "model":

x = thisdict.get("model")

Запуск примера

Изменение значения

Вы можете изменить значение конкретного элемента, указав его имя ключа по ссылке:

Пример

Изменение "year" на 2019:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Запуск примера

пробегать по словарю

Вы можете использовать for Итерация по словарю.

При итерации по словарю, возвращается значение ключа, но также есть способ вернуть значение.

Пример

Печать всех имен ключей по отдельности в словаре:

for x in thisdict:
  print(x)

Запуск примера

Пример

Печать всех значений по отдельности в словаре:

for x in thisdict:
  print(thisdict[x])

Запуск примера

Пример

Вы также можете использовать values() Функция возвращает значения словаря:

for x in thisdict.values():
  print(x)

Запуск примера

Пример

Прогнозирование ключей и значений с помощью функции items():

for x, y in thisdict.items():
  print(x, y)

Запуск примера

Проверка наличия ключа

Чтобы определить, существует ли указанный ключ в словаре, используйте: in Ключевое слово:

Пример

Проверка наличия "model" в словаре:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Да, 'model' является одним из ключей в словаре thisdict")

Запуск примера

Длина словаря

Чтобы определить количество элементов (ключ-значение) в словаре, используйте: len() Метод.

Пример

Печать числа элементов в словаре:

print(len(thisdict))

Запуск примера

Добавление элемента

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

Пример

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Запуск примера

Удаление элемента

Есть несколько способов удалить элемент из словаря:

Пример

Метод pop() удаляет элемент с указанным именем ключа:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Запуск примера

Пример

popitem() Метод удаления последнего вставленного элемента (в версиях до 3.7, удаление случайного элемента):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Запуск примера

Пример

del thisdict["model"] thisdict.popitem()

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Ключ также может удалить элемент с указанным именем ключа:
print(thisdict)

Запуск примера

Пример

del thisdict["model"] del

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Ключ также может полностью удалить словарь:
del thisdict

Запуск примера

Пример

clear() print(thisdict) #this 会导致错误, потому что "thisdict" больше не существует.

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Ключ также может полностью очистить словарь:
print(thisdict)

Запуск примера

thisdict.clear()

Копировать словарь dict2 = dict1 Чтобы скопировать словарь, нельзя просто ввестиdict2 является только копией dict1 Ссылке, а dict1 Изменения также будут автоматически применены к dict2 в.

Есть несколько методов для копирования, один из которых - использовать встроенный метод словаря copy()

Пример

Используйте copy() Метод для копирования словаря:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Запуск примера

Другой способ создания копии - использовать встроенный метод dict()

Пример

Используйте dict() Метод создает копию словаря:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Запуск примера

Вложенные словари

Словарь также может содержать множество словарей, что называется вложенными словарями.

Пример

Создайте словарь, содержащий три словаря:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Запуск примера

Или, если у вас уже есть три словаря, существующие в виде словарей:

Пример

Создайте три словаря, а затем создайте словарь, содержащий другие три словаря:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Запуск примера

Конструктор dict()

También se puede usar dict() Конструктор создает новый словарь:

Пример

thisdict = dict(brand="Porsche", model="911", year=1963)
# Пожалуйста, ключевое слово не является строковым литералом
# Пожалуйста, используйте знак равенства вместо двоеточия для назначения значения
print(thisdict)

Запуск примера

Методы словаря

Python предоставляет набор встроенных методов, которые можно использовать с словарями.

Метод Описание
clear() Удалить все элементы из словаря
copy() Вернуть копию словаря
fromkeys() Вернуть словарь с указанным ключом и значением
get() Вернуть значение по указанному ключу
items() Вернуть список кортежей из каждого ключа-значения
keys() Вернуть список ключей из словаря
pop() Удалить элемент с указанным ключом
popitem() Удалить последний вставленный ключ-значение
setdefault() Вернуть значение по указанному ключу. Если ключ не существует, вставить ключ с указанным значением.
update() Использовать указанные ключ-значение для обновления словаря
values() Вернуть список всех значений из словаря