Classificando listas de listas com ordem mista
Dada uma lista de listas com dois elementos, classificá-las em uma ordem específica pode ser um desafio. Normalmente, a classificação é feita usando um critério. No entanto, neste caso, precisamos classificar com base no primeiro elemento em ordem decrescente e no segundo elemento em ordem crescente.
Para obter essa classificação mista, podemos utilizar funções lambda e o método sort em Python. O argumento principal do método sort recebe uma função que determina a ordem de classificação. A função que fornecemos considerará ambos os elementos de cada lista.
Para criar uma chave combinada que lide com ambos os elementos, podemos usar a seguinte função lambda:
lambda k: (k[0], -k[1])
Aqui, estamos usando uma tupla para combinar os dois elementos. O primeiro elemento representa o primeiro elemento da lista e o segundo elemento é o negativo do segundo elemento. Essa negação garante a ordem decrescente para o segundo elemento.
Agora, podemos usar esta função lambda no método de classificação:
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)
O argumento reverse=True especifica que a classificação deve ser feita na ordem inversa, o que se alinha com nosso requisito de ordem decrescente para o primeiro elemento.
Como resultado, a lista L será classificada com o primeiro elemento decrescente e o segundo elemento ascendente:
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3