Вопрос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}")