Создание и использование словарей
В отличие от списков (квадратные скобки) и кортежей (круглые скобки), словари в 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 для организации и работы с данными. Изучение их свойств и функций позволит эффективно решать разнообразные задачи.