3.1 Отображение дочерних элементов
Как вы уже знаете, словарь у себя внутри хранит пары элементов ключ-значение. У него есть методы, которые позволяют нам получить доступ к этим данным: keys(), values() и items(). Ниже я расскажу о них подробнее.
Важно! Эти методы возвращают не просто списки элементов, а так называемые отображения (view). Отображения словаря предоставляют динамическое представление ключей, значений и пар ключ-значение, содержащихся в словаре. Эти отображения автоматически обновляются при изменении словаря.
Метод keys()
Метод keys() возвращает представление всех ключей в словаре. Результатом является объект dict_keys, который поддерживает итерацию и другие операции, аналогичные множествам.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Итерация по ключам
for key in person.keys():
print(key)
# Вывод: # name # age # city
Метод values()
Метод values() возвращает представление всех значений в словаре. Результатом является объект dict_values, который также поддерживает обход циклом.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Итерация по значениям
for value in person.values():
print(value)
# Вывод: # Alice # 25 # New York
Метод items()
Метод items() возвращает представление всех пар ключ-значение в словаре. Результатом является объект dict_items, который поддерживает работу с циклами.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Итерация по парам ключ-значение
for key, value in person.items():
print(f"{key}: {value}")
# Вывод: # name: Alice # age: 25 # city: New York
3.2 Динамическое обновление
Одним из важных свойств отображений словаря является их динамическое обновление. Это означает, что, если словарь изменяется, отображения автоматически отражают эти изменения.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Добавление нового элемента
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Преобразование отображений в другие коллекции
Отображения словаря можно преобразовать в другие коллекции, такие как списки, множества или кортежи, для выполнения дополнительных операций.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Преобразование keys() в список
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Преобразование values() в множество
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Преобразование items() в список кортежей
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ