Python“就地”函数

Pao*_*olo 4 python in-place

Python 中的某些函数在“就地”运行,例如[].sortand [].reverse,而另一些[].append则不喜欢的特殊原因是什么?

Mar*_*oij 5

根据我的 Python 编程第 4 版:

默认情况下,pop 等效于获取,然后删除偏移量 ?1 处的最后一项。使用参数,pop 删除并返回该偏移量处的项目——list.pop(-1) 与 list.pop() 相同。对于 append、insert、del 和 pop 等就地更改操作,不会在内存中创建新列表,因此执行速度很快(性能可能进一步取决于哪一端是“顶部”,但这反过来又取决于Python 的当前列表实现,以及我们稍后将探讨的测量概念)。

实际上有一整节专门讨论这个问题,但这几乎可以回答你的问题。