Методы словарей
fromkeys() создаёт словарь по набору ключей, get() безопасно читает значение, setdefault() добавляет ключ при отсутствии.
keys(), values() и items() возвращают динамические представления.
data = {"name": "Alice", "age": 30}
keys = data.keys()
data["city"] = "New York"
print(keys)
print(data.get("country", "Unknown"))Вложенные структуры
Словарь может хранить списки и другие словари. Для доступа нужно последовательно пройти все уровни.
Для обхода вложенных словарей обычно нужны вложенные циклы.
school = {"class1": {"students": ["Alice", "Bob"], "teacher": "Mrs. Smith"}}
print(school["class1"]["students"][0])Копирование
copy() создаёт новый внешний словарь, но вложенные списки остаются общими.
copy.deepcopy() создаёт независимые вложенные структуры.
import copy
original = {"scores": [90, 85]}
shallow = original.copy()
deep = copy.deepcopy(original)
original["scores"].append(80)
print(shallow)
print(deep)Функции и LEGB
Функция получает входные данные через параметры и возвращает результат через return.
LEGB объясняет, почему локальная переменная перекрывает глобальную.
x = 10
def show_value():
x = 5
return x
print(show_value())
print(x)