Работа со Словарями в Python: Основы и Продвинутые Методики

Опубликовано 2025.08.08

Словари (или dict) в Python это мощная структура данных, необходимая для хранения пар "ключ-значение". Они представляют собой изменяемые коллекции, что делает их популярными для хранения различных типов данных. Далее мы рассмотрим основные операции со словарями: как их создать, работать с ключами и значениями, а также рассмотрим различные методы сортировки.

Создание словаря

Для создания словаря в Python используются фигурные скобки {} или функция dict().

  1. # Создание пустого словаря
  2. my_dict = {}
  3.  
  4. # Создание словаря с начальными значениями
  5. person = {
  6. 'name': 'Alice',
  7. 'age': 30,
  8. 'city': 'New York'
  9. }
  10.  
  11. # Использование функции dict()
  12. another_person = dict(name='Bob', age=25, city='Los Angeles')

Получение ключей

Ключи словаря могут быть получены с помощью метода keys(), который возвращает объект dict_keys.

  1. keys = person.keys()
  2. print(keys) # dict_keys(['name', 'age', 'city'])

Перебор словаря

Python предлагает несколько способов перебора словаря, в зависимости от того, что именно вам нужно — ключи, значения или пары "ключ-значение".

Перебор ключей

Чтобы перебрать только ключи, можно использовать keys() в сочетании с циклом for.

  1. for key in person.keys():
  2. print(key)

Перебор значений

Значения могут быть получены с помощью метода values().

  1. for value in person.values():
  2. print(value)

Перебор ключей и значений

Для одновременного доступа к ключам и значениям используется метод items(), который возвращает пары "ключ-значение".

  1. for key, value in person.items():
  2. print(f"{key}: {value}")

Получение значений

Значения в словаре могут быть получены, обратившись к их ключам..

  1. age = person['age']
  2. print(f"Age: {age}")

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

  1. age = person.get('age', 'Unknown')
  2. zip_code = person.get('zip_code', 'Not specified')

Сортировка словаря

Сортировка словаря может быть выполнена по ключам или значениям. Для этого можно использовать функцию sorted() в сочетании с методами keys(), values() или items().

Сортировка по ключам

  1. sorted_by_keys = dict(sorted(person.items()))
  2. print(sorted_by_keys)

Сортировка по значениям

Чтобы отсортировать словарь по значениям, входящий в функцию sorted() параметр items() нужно использовать с ключевой функцией lambda.

  1. sorted_by_values = dict(sorted(person.items(), key=lambda item: item[1]))
  2. print(sorted_by_values)

Отметим, что результатом сортировки является новый словарь, так как словари до Python 3.7 не гарантируют сохранение порядка (начиная с Python 3.7, порядок вставки сохраняется, но это поведение становится официальным начиная с Python 3.8).

Заключение

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