Изучение объектов представлений словаря (Dictionary View Objects)
На этом шаге вы изучите объекты представлений словаря (dictionary view objects). Это динамические объекты, которые предоставляют представление ключей, значений или пар (ключ, значение) словаря. Любые изменения в словаре немедленно отражаются в представлении.
Замените содержимое main.py следующим кодом:
## Define a sample dictionary
student_info = {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
print(f"Original dictionary: {student_info}\n")
## Get the view objects
keys_view = student_info.keys()
values_view = student_info.values()
items_view = student_info.items()
print(f"Keys View: {keys_view}")
print(f"Values View: {values_view}")
print(f"Items View: {items_view}")
## Views are dynamic and reflect dictionary changes
print("\n--- Modifying Dictionary ---")
student_info['city'] = 'New York'
print(f"Dictionary after adding 'city': {student_info}")
print(f"Keys View after modification: {keys_view}")
print(f"Values View after modification: {values_view}")
## You can iterate over view objects
print("\n--- Iterating over Keys View ---")
for key in keys_view:
print(key)
## You can convert views to other data types like lists
keys_list = list(keys_view)
print(f"\nKeys view converted to a list: {keys_list}")
Сохраните файл (Ctrl + S) и запустите скрипт:
python main.py
Вывод демонстрирует создание, динамическую природу и итерацию по объектам представлений:
Original dictionary: {'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
Keys View: dict_keys(['name', 'age', 'major'])
Values View: dict_values(['Alice', 26, 'Computer Science'])
Items View: dict_items([('name', 'Alice'), ('age', 26), ('major', 'Computer Science')])
--- Modifying Dictionary ---
Dictionary after adding 'city': {'name': 'Alice', 'age': 26, 'major': 'Computer Science', 'city': 'New York'}
Keys View after modification: dict_keys(['name', 'age', 'major', 'city'])
Values View after modification: dict_values(['Alice', 26, 'Computer Science', 'New York'])
--- Iterating over Keys View ---
name
age
major
city
Keys view converted to a list: ['name', 'age', 'major', 'city']
На этом шаге вы узнали, как использовать методы keys(), values() и items() для получения динамических представлений содержимого словаря, что полезно для многих задач программирования.