В этой строке происходит две вещи:
firstlist = firstlist*2
Вы умножаете firstlist
на два, а затем присваиваете переменную, которая просто происходит с firstlist
- это немодификация на месте.Следовательно, firstlist
и alias
указывают на разные объекты.
Наоборот, если вы измените firstlist
на месте, например, добавив его, вы увидите, что обе переменные по-прежнему указывают наодин и тот же объект и имеют одинаковое значение:
>>> firstlist = [1,2,3,4,5,6,7,7]
>>> alias = firstlist
>>> firstlist.extend(firstlist)
>>> print(firstlist)
[1, 2, 3, 4, 5, 6, 7, 7, 1, 2, 3, 4, 5, 6, 7, 7]
>>> print(alias)
[1, 2, 3, 4, 5, 6, 7, 7, 1, 2, 3, 4, 5, 6, 7, 7]