append
является деструктивной операцией (он изменяет список вместо того, чтобы возвращать новый список). Идиоматический способ выполнения неразрушающего эквивалента append
был бы
l = [1,2,3]
print l + [4] # [1,2,3,4]
print l # [1,2,3]
, чтобы ответить на ваш вопрос, я полагаю, что если append
вернул недавно измененный список, пользователи могут подумать, что это были неразрушающими, то есть они могли бы писать код типа
m = l.append("a")
n = l.append("b")
и ожидать, что n
будет [1,2,3,"b"]