← Все вопросы

Как работает * при распаковке в середине списка?

Задан 2 месяца назад7 просмотров1 ответ
0

Знаю про *args и распаковку:

python a, *b, c = [1, 2, 3, 4, 5] print(a, b, c) # 1, [2, 3, 4], 5 Это круто! А можно ли использовать * несколько раз?

python a, *b, *c, d = [1, 2, 3, 4, 5] # SyntaxError Почему так нельзя?

1 ответ

0

звёздочка в распаковке может быть только одна. с двумя питон просто не поймёт, где заканчивается первая и начинается вторая — a, *b, *c, d можно порезать кучей способов, поэтому он не гадает, а кидает SyntaxError. с одной всё однозначно: в неё падает всё, что не разобрали имена слева и справа

Ваш ответ

, чтобы ответить на вопрос.