Python Словари (dict): Уроки для новичков

Создание и использование словарей

В отличие от списков (квадратные скобки) и кортежей (круглые скобки), словари в Python (обозначаются фигурными скобками {}) используют ключи для доступа к значениям. Ключ – это имя, присваиваемое значению. Он может быть разных типов данных: числами, булевыми значениями, строками или кортежами.

country = {
    4: 3,
    True: 1,
    "ключ_строка": "значение_строка",
    (5, 6): (5, 6)
}
print(country[4])  # Выведет 3

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

Описание объектов с помощью словарей

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

country = {
    "код": "RU",
    "name": "Россия",
    "население": 144  # в сотнях миллионов
}
print(country["name"])  # Выведет "Россия"

Обращение к значению по ключу («name» в данном случае) удобнее, чем обращение по индексу.

Альтернативное создание словарей: функция dict()

Альтернативный способ создания словарей – функция dict():

country = dict(код="RU", name="Россия", население=144)
print(country)

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

Вывод и перебор словаря

Для вывода всего словаря достаточно обратиться к нему по имени:

print(country)

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

for key in country:
    print(key)  # Выведет ключи

Для получения ключей и значений используется функция items():

for key, value in country.items():
    print(f"{key}: {value}")  # Выведет пары ключ-значение

Функции для работы со словарями

Рассмотрим полезные функции:

  • get(key): Возвращает значение по ключу key. Аналогично использованию квадратных скобок, но не вызывает ошибку, если ключ отсутствует.
  • clear(): Очищает словарь.
  • pop(key): Удаляет элемент по ключу key и возвращает его значение.
  • popitem(): Удаляет и возвращает последний добавленный элемент.
  • keys(): Возвращает список ключей.
  • values(): Возвращает список значений.
  • items(): Возвращает список пар (ключ, значение).
  • update(): Обновляет словарь, добавляя или изменяя элементы из другого словаря или набора пар ключ-значение. Альтернативный способ обновления значения по ключу – использовать квадратные скобки: словарь[ключ] = новое_значение
print(country.get("код"))  # Выведет "RU"
country.clear()
country.pop("name", None)  # Удаляет элемент по ключу 'name', возвращает None, если ключа нет
print(country.keys())
country.update({"код": "US", "население": 330})
print(country)

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

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

Пример вложенного словаря для описания пользователей:

person = {
    "user1": {
        "first_name": "Джон",
        "last_name": "Марли",
        "age": 45,
        "address": ["город Москва", "улица", "квартира 45"],
        "grades": {"math": 5, "physics": 3}
    },
    "user2": {}  # Добавление другого пользователя
}

print(person["user1"]["address"][0])  # Выведет "город Москва"

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

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

Что будем искать? Например,программа