Словарь в Python — это упорядоченная коллекция элементов, которая хранит их в виде пары «ключ-значение». Ключ — это уникальный идентификатор, который связан с каждым значением. Например, если нам нужно сохранить информацию о странах и их столицах, мы можем создать словарь с названиями стран в качестве ключей и столицами в качестве значений.
Ключ | Значение |
Nepal | Kathmandu |
Ukraine | Kyiv |
Italy | Rome |
Создание словаря в Python
Вот как просто можно создать словарь в Python:
1 2 |
capital_city = {"Nepal": "Kathmandu", "Ukraine": "Kyiv", "Italy": "Rome"} print(capital_city) |
Результат:
{"Nepal": "Kathmandu", "Ukraine": "Kyiv", "Italy": "Rome"}
Здесь мы создали словарь с именем capital_city
, в котором:
Ключи: "Nepal"
, "Ukraine"
, "Italy"
.
Значения: "Kathmandu"
, "Kyiv"
, "Rome"
.
Примечание: В примере выше ключи и значения имеют строковый тип, но они также могут быть разных типов.
Рассмотрим еще один пример:
1 2 3 |
# Словарь с ключами и значениями различных типов данных numbers = {1: "One", 2: "Two", 3: "Three"} print(numbers) |
Результат:
[3: "Three", 1: "One", 2: "Two"]
Здесь мы создали словарь с именем numbers
, в котором ключи имеют целочисленный тип, а значения — строковый тип.
Добавление элементов в словарь
Мы можем добавлять элементы в словарь, используя имя словаря с []
. Например:
1 2 3 4 5 6 |
capital_city = {"Nepal": "Kathmandu", "Italy": "Rome"} print("Initial Dictionary: ",capital_city) capital_city["Japan"] = "Tokyo" print("Updated Dictionary: ",capital_city) |
Результат:
Initial Dictionary: {"Nepal": "Kathmandu", "Italy": "Rome"}
Updated Dictionary: {"Nepal": "Kathmandu", "Italy": "Rome", "Japan": "Tokyo" }
Обратите внимание на строку:
1 |
capital_city["Japan"] = "Tokyo" |
Здесь мы добавили новый элемент в словарь capital_city
: ключ Japan
со значением Tokyo
.
Изменение значения в словаре
Мы также можем использовать []
для изменения значения, связанного с определенным ключом. Например:
1 2 3 4 5 6 |
student_id = {111: "Eric", 112: "Kyle", 113: "Butters"} print("Initial Dictionary: ", student_id) student_id[112] = "Stan" print("Updated Dictionary: ", student_id) |
Результат:
Initial Dictionary: {111: 'Eric', 112: 'Kyle', 113: 'Butters'}
Updated Dictionary: {111: 'Eric', 112: 'Stan', 113: 'Butters'}
Здесь мы создали словарь с именем student_id
. Изначально с ключом 112
связано значение 'Kyle'
. Теперь обратите внимание на строку:
1 |
student_id[112] = "Stan" |
Здесь мы изменили значение, связанное с ключом 112
, на 'Stan'
.
Доступ к элементам из словаря
В Python ключи используются для доступа к соответствующим значениям. Например:
1 2 3 4 |
student_id = {111: "Eric", 112: "Kyle", 113: "Butters"} print(student_id[111]) print(student_id[113]) |
Результат:
Eric
Butters
Здесь мы использовали ключи для доступа к соответствующим значениям.
Если попытаться получить доступ к значению несуществующего ключа, то Python выдаст ошибку. Например:
1 2 |
student_id = {111: "Eric", 112: "Kyle", 113: "Butters"} print(student_id[211]) |
Результат:
KeyError: 211
Удаление элементов из словаря
В Python оператор del используется для удаления элемента из словаря. Например:
1 2 3 4 5 6 7 |
student_id = {111: "Eric", 112: "Kyle", 113: "Butters"} print("Initial Dictionary: ", student_id) del student_id[111] print("Updated Dictionary ", student_id) |
Результат:
Initial Dictionary: {111: 'Eric', 112: 'Kyle', 113: 'Butters'}
Updated Dictionary {112: 'Kyle', 113: 'Butters'}
Обратите внимание на строку:
1 |
del student_id[111] |
Оператор del
удаляет элемент, связанный с ключом 111
.
Мы также можем удалить весь словарь с помощью оператора del
:
1 2 3 4 5 6 7 8 |
student_id = {111: "Eric", 112: "Kyle", 113: "Butters"} # Удаляем словарь student_id del student_id print(student_id) # Результат: NameError: name 'student_id' is not defined |
Мы получим сообщение об ошибке, потому что мы удалили словарь student_id
и когда пытаемся его вывести, Python сообщает, что такого словаря уже нет.
Методы для работы со словарями в Python
Функция | Описание |
all() | Возвращает True, если все ключи словаря равны True (или если словарь пуст). |
any() | Возвращает True, если хоть один из ключей словаря равен True. Если словарь пуст, возвращается False. |
len() | Возвращает длину (количество элементов) в словаре. |
sorted() | Возвращает новый отсортированный список ключей в словаре. |
clear() | Удаляет все элементы из словаря. |
keys() | Возвращает новый объект ключей словаря. |
values() | Возвращает новый объект значений словаря. |
Проверяем, находится ли ключ в словаре
Мы можем проверить, находится ли ключ в словаре или нет, используя ключевое слово in
. Обратите внимание, что проверка проводится только для ключей, но не для значений.
1 2 3 4 5 6 7 8 9 10 |
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} # Проверка ключа print(1 in squares) # выведет True # Проверка ключа print(2 not in squares) # выведет True # Проверка значения print(49 in squares) # выведет false, поскольку проверка проводится только для ключей |
Результат:
Итерация по словарю
Мы можем перебирать ключи в словаре с помощью цикла for.
1 2 3 4 |
# Итерация по словарю squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81} for i in squares: print(squares[i]) |
Результат:
1
9
25
49
81