JavaRush /Курсы /Модуль 1: Python Core /Отображения словарей

Отображения словарей

Модуль 1: Python Core
7 уровень , 2 лекция
Открыта

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')]
2
Задача
Модуль 1: Python Core, 7 уровень, 2 лекция
Недоступна
Ищем ключи.
Ищем ключи.
2
Задача
Модуль 1: Python Core, 7 уровень, 2 лекция
Недоступна
Отображение пар.
Отображение пар.
Комментарии (5)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Rodney Уровень 16
9 октября 2025
На многие недостатки можно закрыть глаза, НО камон ... решение самих авторов не подходит под рамки 'Правильного решения', которое кстати они вайбкодят через гпт.
Рустем Уровень 14
31 августа 2025
когда будут настоящие задания? раз уж задач всего две, ну дайте дайте сложнее, интереснее
_den Уровень 51
28 февраля 2025
мы же только в этой лекции view прошли и их нельзя использовать в задаче)
SWK Уровень 26
27 марта 2025
Можно и нужно, о чём недвусмысленно говорит ТЗ.
Роман Уровень 23
9 сентября 2025
нельзя, если используешь как в статье, то задание не засчитывается "После добавления новой пары ключ-значение в словарь, необходимо заново получить обновленный список пар с помощью метода items() и вывести их на экран. "