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

В Python словарь — это универсальная и неупорядоченная структура данных, в которой данные хранятся в парах ключ-значение. Каждый ключ уникален в словаре и соответствует определенному значению. Думайте о словарях как о реальных словарях, где слова (ключи) связаны с их определениями (значениями). Такое сопоставление ключ-значение позволяет быстро и эффективно извлекать данные на основе их уникального идентификатора — ключа.

Словари в Python можно создавать с помощью фигурных скобок {} или конструктора dict(). Пары ключ-значение указываются в этих фигурных скобках, разделенных двоеточиями, при этом ключи и значения связываются с помощью символа :.

# Using curly braces
person = {"name": "John", "age": 30, "city": "New York"}

# Using the dict() constructor
person = dict(name="John", age=30, city="New York")

Поскольку словарь играет очень важную роль в программировании на Python.

Ниже приведены некоторые характеристики словаря:

  1. Уникальность. Ключи в словаре должны быть уникальными. Если вы попытаетесь добавить дубликат ключа, он перезапишет существующую пару ключ-значение.
  2. Упорядочено. Начиная с Python 3.7 и более поздних версий, словари Python гарантированно упорядочиваются. Это означает, что порядок добавления элементов в словарь сохраняется при переборе словаря. Такое поведение по сохранению порядка является формальной частью спецификации языка Python.

Примечание. Начиная с версии Python 3.7, словари упорядочены. В Python 3.6 и более ранних версиях словари неупорядочены.

3. Изменяемость. Словари изменяемы, что позволяет добавлять, изменять или удалять пары ключ-значение после создания словаря.

. Сопоставление ключей и значений. Словари предоставляют высокоэффективный способ сопоставления ключей со значениями. Это неоценимо для связывания данных с уникальными идентификаторами.

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

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

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

8. Эффективный поиск. Поскольку словари используют хеширование для хранения и извлечения данных, временная сложность извлечения данных по ключам составляет O(1), что делает их эффективными даже для больших наборов данных.

9. Динамические структуры данных.Словари изменяемы, то есть вы можете добавлять, изменять или удалять пары ключ-значение по мере необходимости, что делает их динамичными и адаптируемыми к меняющимся требованиям к данным.

10. Динамические структуры данных. Словари изменяемы. Это означает, что вы можете добавлять, изменять или удалять пары ключ-значение по мере необходимости, что делает их динамичными и адаптируемыми к меняющимся требованиям к данным.

Ниже приведены некоторые функции словаря:

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

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
x = thisdict["model"]

Существует также метод get(), который даст вам тот же результат.

x = thisdict.get("model")

Получить ключи.Метод keys() вернет список всех ключей в словаре.

x = thisdict.keys()

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

Получить значения.Метод values() вернет список всех значений в словаре.

x = thisdict.values()

Получить элементы:Метод items() вернет каждый элемент словаря в виде кортежа в списке.

x = thisdict.items()

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

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

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
if "model" in thisdict:
  print("Yes, 'model' is one of the keys in the thisdict dictionary")

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

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict["year"] = 2018

Обновить словарь.Метод update() обновит словарь элементами из данного аргумента. Аргумент должен быть словарем или повторяемым объектом с парами ключ: значение.

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict.update({"year": 2020})

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

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict["color"] = "red"
print(thisdict)

Обновить словарь.Метод update() обновит словарь элементами из заданного аргумента. Если элемент не существует, он будет добавлен. Аргумент должен быть словарем или повторяемым объектом с парами ключ: значение.

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict.update({"color": "red"})

Удаление элементов. Существует несколько способов удаления элементов из словаря. Метод pop() удаляет элемент с указанным именем ключа.

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict.pop("model")
print(thisdict)

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

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict.popitem()
print(thisdict)

Ключевое слово del удаляет элемент с указанным именем ключа.

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
del thisdict["model"]
print(thisdict)
thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
del thisdict
#this will cause an error because "thisdict" no longer exists.
print(thisdict) 

Метод clear() очищает словарь.

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
thisdict.clear()
print(thisdict)

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

myfamily = {
  "child1" : {
    "name" : "Emil",
    "year" : 2004
  },
  "child2" : {
    "name" : "Tobias",
    "year" : 2007
  },
  "child3" : {
    "name" : "Linus",
    "year" : 2011
  }
}

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

print(myfamily["child2"]["name"])

Ниже приведены методы словаря:

+--------------+-------------------------------------------------------------------------------------------------------------+
| clear()      | Removes all the elements from the dictionary                                                                |
+--------------+-------------------------------------------------------------------------------------------------------------+
| copy()       | Returns a copy of the dictionary                                                                            |
+--------------+-------------------------------------------------------------------------------------------------------------+
| fromkeys()   | Returns a dictionary with the specified keys and value                                                      |
+--------------+-------------------------------------------------------------------------------------------------------------+
| get()        | Returns the value of the specified key                                                                      |
+--------------+-------------------------------------------------------------------------------------------------------------+
| items()      | Returns a list containing a tuple for each key value pair                                                   |
+--------------+-------------------------------------------------------------------------------------------------------------+
| keys()       | Returns a list containing the dictionary's keys                                                             |
+--------------+-------------------------------------------------------------------------------------------------------------+
| pop()        | Removes the element with the specified key                                                                  |
+--------------+-------------------------------------------------------------------------------------------------------------+
| popitem()    | Removes the last inserted key-value pair                                                                    |
+--------------+-------------------------------------------------------------------------------------------------------------+
| setdefault() | Returns the value of the specified key. If the key does not exist: insert the key, with the specified value |
+--------------+-------------------------------------------------------------------------------------------------------------+
| update()     | Updates the dictionary with the specified key-value pairs                                                   |
+--------------+-------------------------------------------------------------------------------------------------------------+
| values()     | Returns a list of all the values in the dictionary                                                          |
+--------------+-------------------------------------------------------------------------------------------------------------+

Заключение:

Подводя итог, словари в Python являются незаменимой структурой данных, предлагающей динамичный и эффективный способ организации данных и управления ими посредством ассоциаций «ключ-значение». Независимо от того, работаете ли вы с настройками конфигурации, сопоставлением элементов или выполняете любую задачу, требующую получения данных по уникальному идентификатору, словари являются фундаментальным инструментом для разработчиков Python.

На простом английском языке

Спасибо, что вы являетесь частью нашего сообщества! Прежде чем уйти: