Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Lista de Idade em forma crescente

Durante a aula, fiquei com duvida no seguinte quesito. E se eu quisesse organizar as idades dos usuários em forma crescente, então cheguei a esse script.

Código

usuarios = [
    ("Daniela", 31, 1987),
    ("Gabriel", 37, 1981),
    ('Anderson', 20, 2003),
    ("José", 24, 1999)
]

lista_de_idade = []
for nome, idade, ano in usuarios:
    lista_de_idade.append(idade)
    lista_de_idade.sort()
print(lista_de_idade)

Saída

[20, 24, 31, 37]

Process finished with exit code 0

Mas minha duvida é a seguinte. Quando faço um usuarios.sort() ele devolve minha lista de usuários organizados levando em consideração o primeiro objeto da tupla([('Anderson', 20, 2003), ('Daniela', 31, 1987), ('Gabriel', 37, 1981), ('José', 24, 1999)]), tem como eu utilizar de forma mais direta para essa organização ser feita levando em consideração o segundo objeto das tuplas, ou seja, organizar diretamente as idades, para que a saída seja [('Anderson', 20, 2003), ("José", 24, 1999), ("Daniela", 31, 1987), ("Gabriel", 37, 1981)]?

1 resposta
solução!

Olá José,

Sim, é possível ordenar diretamente as idades em vez de ordenar os usuários pela primeira posição da tupla. Para isso, você pode usar a função sorted do Python em vez de chamar o método sort da lista. Veja como o código ficaria para ordenar a lista de usuários em ordem crescente de idade:

usuarios = [    ("Daniela", 31, 1987),    ("Gabriel", 37, 1981),    ('Anderson', 20, 2003),    ("José", 24, 1999)]

usuarios_ordem_crescente = sorted(usuarios, key=lambda usuario: usuario[1])

print(usuarios_ordem_crescente)

Neste caso, a função sorted é chamada com a lista de usuários como argumento, e a chave de ordenação é definida como lambda usuário: usuário[1]. Isso significa que a função lambda retorna o segundo elemento da tupla (idade), que é usado para ordenar os usuários. O resultado é uma nova lista de usuários ordenada em ordem crescente de idade.

Espero que isso ajude a esclarecer a sua dúvida. Se precisar de mais ajuda, é só perguntar!

E se você quiser saber mais sobre mim, estou sempre disponível no meu LinkedIn: https://www.linkedin.com/in/eduardo-a-querido-dias-logistica/

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software