Распаковка a, *b = ...

Распределяет элементы последовательности по нескольким переменным, в т.ч. со звёздочкой.

Сигнатураa, *b, c = iterable

Распаковка присваивает элементы итерируемого объекта переменным. Переменная со звёздочкой * собирает оставшиеся элементы в список. Звёздочка может быть только одна.

first, *rest = [1, 2, 3, 4]
print(first, rest)  # 1 [2, 3, 4]

a, *mid, b = [1, 2, 3, 4, 5]
print(a, mid, b)    # 1 [2, 3, 4] 5

# обмен значений
x, y = 10, 20
x, y = y, x
print(x, y)         # 20 10
← Все записи: Методы списков и кортежей Python
Поддержать проект