То, как вы их представили, не имеет никакой внешней разницы.Инструкция pop
позволяет интерпретатору легче оптимизировать инструкцию, поскольку она может просто уменьшить атрибут длины списка.Присвоение -1
создаст новый список, присвоит его a
, а затем оставит старый для сбора мусора.
Существует огромная разница в псевдонимах: если вы назначили что-то еще в этот список, вы получите побочные эффекты с pop
.Например:
>>> a = [1, 2, 3, 4]
>>> b = a
>>> b
[1, 2, 3, 4]
>>> a.pop()
4
>>> b
[1, 2, 3]
>>> a = a[:-1]
>>> b
[1, 2, 3]
>>> a
[1, 2]