Python - Ordenar listas
Ordenar lista alfanuméricamente
Los objetos de lista tienen un
sort()
método que ordenará la lista de forma alfanumérica, ascendente, de forma predeterminada:
Ejemplo
Ordena la lista alfabéticamente:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Ejemplo
Ordene la lista numéricamente:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Orden descendiente
Para ordenar de forma descendente, use el argumento de palabra clave reverse = True
:
Ejemplo
Ordenar la lista de forma descendente:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Ejemplo
Ordenar la lista de forma descendente:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Personalizar la función de clasificación
También puede personalizar su propia función utilizando el argumento de palabra clave .key =
function
La función devolverá un número que se usará para ordenar la lista (primero el número más bajo):
Ejemplo
Ordene la lista según lo cerca que esté el número de 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Clasificación insensible a mayúsculas y minúsculas
De forma predeterminada, el sort()
método distingue entre mayúsculas y minúsculas, lo que da como resultado que todas las letras mayúsculas se clasifiquen antes que las minúsculas:
Ejemplo
La clasificación entre mayúsculas y minúsculas puede dar un resultado inesperado:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Afortunadamente, podemos usar funciones integradas como funciones clave al ordenar una lista.
Entonces, si desea una función de clasificación que no distinga entre mayúsculas y minúsculas, use str.lower como una función clave:
Ejemplo
Realice una ordenación de la lista que no distinga entre mayúsculas y minúsculas:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Orden inverso
¿Qué sucede si desea invertir el orden de una lista, independientemente del alfabeto?
El reverse()
método invierte el orden de clasificación actual de los elementos.
Ejemplo
Invierta el orden de los elementos de la lista:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)