Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

709
Visualizações
¿Cómo ordenar una lista de python, según diferentes índices?

Por ejemplo, tenemos una lista de lista. La lista debe ordenarse inversamente en función de algún índice i, y si hay un empate, deben ordenarse en orden ascendente o descendente según la condición.

Por ejemplo:

La lista es [['A', 2, 4.2], ['B', 4, 4.5], ['C', 2, 3.3], ['D', 2, 3.5]]

Cómo ordenar esto para que el resultado sea:

  • [['B', 4, 4.5], ['A', 2, 4.2], ['D', 2, 3.5], ['C', 2, 3.3]]
  • [['B', 4, 4.5], ['C', 2, 3.3], ['D', 2, 3.5], ['A', 2, 4.2]]

En la primera condición, quiero que se clasifiquen en orden descendente según el index 1 , y luego nuevamente en orden descendente en el index 2 si hay un empate en el index 1 .

En la segunda condición, quiero que se clasifiquen en orden descendente según el index 1 , y luego en orden ascendente en el index 2 si hay un empate en el index 1 .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Lo que se me ocurre es lo siguiente:

 myList = [['A', 2, 4.2], ['B', 4, 4.5], ['C', 2, 3.3], ['D', 2, 3.5]] print(sorted(myList, key= lambda x: (x[1], x[2]), reverse=True)) print(sorted(myList, key= lambda x: (x[1], -1*x[2]), reverse=True))

Producción

 [['B', 4, 4.5], ['A', 2, 4.2], ['D', 2, 3.5], ['C', 2, 3.3]] [['B', 4, 4.5], ['C', 2, 3.3], ['D', 2, 3.5], ['A', 2, 4.2]]

Explicación

La función sorted toma dos argumentos: un iterable, que puede ser una lista, un conjunto o cualquier cosa que sea iterable, y una clave, que define el patrón de clasificación. En el argumento clave, he definido una tupla ( (x[1], x[2]) ) que indica el orden de clasificación, si el elemento con índice 1 está empatado, entonces va a verificar el índice número 2. El segundo La función sorted es la misma, pero cuando va al elemento con número de índice 2, comprueba su valor negativo para ordenarlos en orden ascendente.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda