Рассмотрим, например,
squares = *map((2).__rpow__, range(5)),
squares
# (0, 1, 4, 9, 16)
*squares, = map((2).__rpow__, range(5))
squares
# [0, 1, 4, 9, 16]
Итак, при прочих равных мы получаем список при разбивке по lhs и кортеж при разбивке по rhs.
Зачем?
Это по замыслу, и если да, то каково обоснование? Или, если нет, есть ли какие-либо технические причины? Или это просто так, без особой причины?