Это тоже смутило меня, потому что я исходил из фона C.
В C переменная - это место в памяти с определенным типом. Назначение переменной копирует данные в ячейку памяти переменной.
Но в Python переменные действуют скорее как указатели на объекты. Поэтому присвоение одной переменной другой не создает копию, она просто превращает это имя переменной в один и тот же объект.