Funciones de Python “IN PLACE”

¿Cuál es la razón particular por la que algunas funciones en Python operan “EN EL LUGAR”, como [].sort y [].reverse , mientras que otras como [].append no?

Según mi 4ta edición de Programming Python:

De forma predeterminada, pop es equivalente a recuperar y luego eliminar el último elemento en offset -1. Con un argumento, pop elimina y devuelve el elemento en ese desplazamiento: list.pop (-1) es lo mismo que list.pop (). Para las operaciones de cambio en el lugar, como agregar, insertar, borrar y abrir, no se crea una nueva lista en la memoria, por lo que la ejecución es rápida (el rendimiento puede depender más de qué extremo es el “top”, pero esto a su vez depende de La implementación de la lista actual de Python, así como los conceptos de medición que exploraremos más adelante).

En realidad, hay una sección entera dedicada a esto, pero esto responde bastante bien a tu pregunta.

“in situ” se refiere a un algoritmo de clasificación que utiliza solo la memoria necesaria para almacenar la lista de elementos más una pequeña constante. Anexar no es un algoritmo de clasificación y, por lo tanto, “in situ” no es significativo, o al menos no significaría lo mismo. Está confundiendo “en el lugar” en la clasificación y si devuelve o no una referencia a un nuevo objeto o una versión modificada del mismo objeto.