Ordenar listas de listas con orden mixto
Dada una lista de listas con dos elementos, ordenarlas en un orden específico puede ser un desafío. Normalmente, la clasificación se realiza utilizando un criterio. Sin embargo, en este caso, necesitamos ordenar según el primer elemento en orden descendente y el segundo elemento en orden ascendente.
Para lograr esta clasificación mixta, podemos utilizar funciones lambda y el método de clasificación en Python. El argumento clave del método de clasificación toma una función que determina el orden de clasificación. La función que proporcionamos considerará ambos elementos de cada lista.
Para crear una clave combinada que maneje ambos elementos, podemos usar la siguiente función lambda:
lambda k: (k[0], -k[1])
Aquí, estamos usando una tupla para combinar ambos elementos. El primer elemento representa el primer elemento de la lista y el segundo elemento es el negativo del segundo elemento. Esta negación garantiza el orden descendente para el segundo elemento.
Ahora, podemos usar esta función lambda en el método de clasificación:
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)
El argumento inverso=Verdadero especifica que la clasificación debe realizarse en orden inverso, lo que se alinea con nuestro requisito de orden descendente para el primer elemento.
Como resultado, la lista L se ordenará con el primer elemento descendente y el segundo elemento ascendente:
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3