Hay tres formas integradas diferentes de invertir una lista. Qué método es mejor depende de si necesita:
- Invertir una lista existente en su lugar (cambiar la variable de lista original)
- La mejor solucion es
object.reverse()
método
- La mejor solucion es
- Cree un iterador de la lista invertida (ya que lo asigna a un bucle for, generador, etc.
- La mejor solucion es
reversed(object)
lo que crea el iterador
- La mejor solucion es
- Haga una copia de la lista, solo en orden inverso (para obtener la lista original)
- La mejor solución es usar cortes con un incremento de -1:
object[::-1]
- La mejor solución es usar cortes con un incremento de -1:
Desde el punto de vista de la velocidad, es mejor utilizar las funciones integradas anteriores para voltear una lista. Por el contrario, son de 2 a 8 veces más rápidos en listas cortas (10 elementos) y hasta ~ 300+ veces más rápidos en listas largas en comparación con un bucle o generador creado manualmente. Eso tiene sentido: están escritos en un idioma nativo (es decir, C), son creados, revisados y optimizados por expertos. También son menos propensos a los defectos y es más probable que tengan cajas de borde y …