Métodos de clasificación integrados
Python tiene una función de ordenación rápida integrada llamada
sorted()
y
sort()
. Utiliza el
Timsort
.
Considere usar las funciones de clasificación integradas.
1) Obtener una nueva matriz
B
que coincida con la matriz
A
ordenada en orden ascendente (por defecto, ordenando en orden ascendente):
B = ordenado(A)
2) Obtener una nueva matriz B
que coincida con la matriz A
ordenada en orden descendente:
B = ordenado(A, inverso = Verdadero)
reverso - traducido del inglés "reverso".
3) Para realizar una clasificación no estándar, se requiere una clave de clasificación: el argumento key
.
Para ordenar en orden ascendente por el último dígito de un número, la clave será el último dígito del número.
Para hacer esto, debe escribir una función que nos devuelva la clave requerida, en nuestro caso, el último dígito del número.
# una función que devuelve la clave de clasificación
# - el último dígito del número
def último dígito (n):
devolver n%10
B = ordenado (A, clave = último dígito)
4) Uso de la función lambda - función sin nombre.
Si no desea escribir una función separada, debido a su simplicidad, puede usar las llamadas funciones lambda. Estas funciones se escriben directamente cuando se las llama en el parámetro key
.
B = ordenado(A, clave = lambda x: x % 10)
5) Si necesita ordenar la matriz "en su lugar" (sin asignar una matriz adicional), es mejor usar el método sort()
.
Por ejemplo, ordenar la matriz A
por el último dígito en orden descendente se ve así:
A.sort(clave = lambda x: x % 10, inverso = Verdadero)