Quando eu tenho listas dentro de listas, como eu faço para que a lista fique em ordem crescente com base em um elemento na lista dentro da lista? Por exemplo, se houvesse uma lista assim:
[[1,‘Pato’],[10,‘Cachorro’],[4,‘Coelho’],[6,‘Pingium’]]
Como eu poderia transformar essa lista em:
[[1,‘Pato’],[4,‘Coelho’],[6,‘Pinguim’],[10,‘Cachorro’]]
Ordem Lista
R
1 Resposta
A
Solucao aceita
1 like
No seu exemplo, por coincidência, como você quer ordernar pelo primeiro elemento das listas, se chamar a função sorted já funciona:
lista = [[1,'Pato'],[10,'Cachorro'],[4,'Coelho'],[6,'Pingium']]
lista_ordernada = sorted(lista)
Se você quiser ordenar pelo segundo elemento, que é o animal no caso, aí precisaria passar uma função como key na função sorted. Essa função pode ser, por exemplo, pra selecionar o segundo elemento de uma lista:
lista = [[1,'Pato'],[10,'Cachorro'],[4,'Coelho'],[6,'Pingium']]
segundo_elemento = lambda lista: lista[1]
lista_ordernada = sorted(lista, key=segundo_elemento)
Criado 24 de setembro de 2021
Ultima resposta 25 de set. de 2021
Respostas 1
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo