
Шаг 3. Словарь
Баллов за прохождение: 1
Словарь
Словарь или dict в Python - это изменяемая, неупорядоченная1 коллекция элементов, которая хранит пары ключ-значение. Каждый элемент словаря представлен в виде ключа и соответствующего ему значения. Ключи должны быть уникальными и неизменяемыми объектами, такими как строки, числа или кортежи, а значения могут быть любого типа данных. Очень похоже на формат JSON.
product = {
"name": "Laptop",
"brand": "Dell",
"price": 1200.00,
"in_stock": True
}
library = {
"book1": {
"title": "Harry Potter and the Philosopher's Stone",
"author": "J.K. Rowling",
"year": 1997
},
"book2": {
"title": "1984",
"author": "George Orwell",
"year": 1949
},
# Другие книги...
}
# словарь в словаре
Индексация
Вместо индексов 0, 1, 2, 3 для обращения к объектам словаря используется их ключ.
Методы
Словарь имеет огромное количество методов. Расскажу об основных: это get, keys, values, items, update, pop:
- dict.get(key, default=None): Возвращает значение для указанного ключа, если ключ присутствует в словаре, иначе возвращает значение по умолчанию (по умолчанию None).
person = {"name": "John", "age": 30}
print(person.get("name")) # Выведет: John
print(person.get("city")) # Выведет: None
print(person.get("city", "Unknown")) # Выведет: Unknown
- dict.keys(): Возвращает представление (объект) всех ключей в словаре.
grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
print(grades.keys()) # Выведет: dict_keys(['Alice', 'Bob', 'Charlie'])
- dict.values(): Возвращает представление (объект) всех значений в словаре.
grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
print(grades.values()) # Выведет: dict_values([95, 87, 91])
- dict.items(): Возвращает представление (объект) всех пар ключ-значение в словаре в виде кортежей.
grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
print(grades.items()) # Выведет: dict_items([('Alice', 95), ('Bob', 87), ('Charlie', 91)])
- dict.update(other_dict): Обновляет словарь, добавляя элементы из другого словаря.
person = {"name": "John", "age": 30}
person.update({"city": "New York", "job": "Engineer"})
print(person) # Выведет: {'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
- dict.pop(key[, default]): Удаляет элемент из словаря по указанному ключу и возвращает его значение. Если ключ отсутствует, возвращает значение по умолчанию или возбуждает исключение, если значение по умолчанию не указано.
person = {"name": "John", "age": 30}
name = person.pop("name")
print(name) # Выведет: John
print(person) # Выведет: {'age': 30}
Это лишь некоторые методы словарей в Python. Существует еще много других методов, которые могут быть полезны в различных сценариях использования.
Заметки:
1 - неупорядоченная, потому что ключ используется вместо индекса, соответственно, нет порядка 0, 1, 2, 3.. как в списке.