Вопрос №18
Осталось:
Что такое распаковка в Python?
Образцовый ответ
Показывать ответ по умолчанию
Распаковка — это механизм, позволяющий «разобрать» коллекцию на отдельные переменные.
Множественное присваивание:
a, b, c = [1, 2, 3] print(a, b, c) # 1 2 3 # Работает с кортежами, строками и другими итерируемыми x, y = (10, 20) first, second, third = "abc"
Обмен переменных:
a, b = 1, 2 a, b = b, a print(a, b) # 2 1
Распаковка с * (звёздочкой):
Собирает «остаток» элементов в список:
first, *rest = [1, 2, 3, 4, 5] print(first) # 1 print(rest) # [2, 3, 4, 5] first, *middle, last = [1, 2, 3, 4, 5] print(middle) # [2, 3, 4]
Распаковка в вызовах функций:
def greet(name, age, city): print(f"{name}, {age}, {city}") data = ["Анна", 25, "Москва"] greet(*data) # Распаковка списка info = {"name": "Иван", "age": 30, "city": "Питер"} greet(**info) # Распаковка словаря
Распаковка во вложенных структурах:
points = [(1, 2), (3, 4), (5, 6)] for x, y in points: print(f"x={x}, y={y}")
