Hoy estaba haciendo una kata muy sencilla donde me pedían invertir un string y tarde un rato en darme cuenta en porque no me estaba funcionando…resulta que en Python hay varias formas de manipular listas.
Cómo manejar listas en Python
Es importante conocer que en Python se pueden realizar ciertas acciones sobre listas,
yo me voy a centrar en sort
y reverse
, de forma funcional
e imperativa
o lo que es lo mismo modificando la lista original o no.
Lo forma de recordarlo es muy sencilla:
- Cuando queremos modificar la lista original debemos usar la propia lista y
usar el metodo en cuestion (aqui tienes la lista completa):
[3, 2, 1].sort()
[1, 2, 3].reverse()
- En cambio cuando queremos mantener la lista intacta y generar una nueva debemos hacer
uso de los métodos comentados anteriormente pero terminados en -ed (lista
completa aqui):
sorted([3, 2, 1])
reversed([1, 2, 3])
Como podemos ver es muy sencillo y parece una tontería pero si no te das cuenta es fácil perder 5 minutos de tu vida sin entender qué está pasando!.
Ejemplos
Por aqui dejo algunos ejemplos donde se ve más fácilmente cada uno de los casos que comentabas antes: