"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como classificar listas de listas com ordem mista?

Como classificar listas de listas com ordem mista?

Publicado em 2024-11-08
Navegar:491

How to Sort Lists of Lists with Mixed Ordering?

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]]
Declaração de lançamento Este artigo foi reimpresso em: 1729499538 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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