Neste artigo veremos como ordenar um dicionário pelo valor com Python, utilizando um recurso do paradigma funcional da linguagem.

ordenar dicionario pelo valor python capa

Fala programador(a), beleza? Bora aprender mais sobre Python!

A ideia aqui é muito simples, vamos utilizar uma função lambda para acessar todos os valores do dicionário, que é a forma que o Python tem para acessar objetos complexos

A media que esta função o percorre, ela identifica se um elemento tem um valor maior que o outro por meio da função sorted e a lambda, que será nosso segundo argumento

Vamos ver na prática:

precisaOrdenar = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

ordenado = {k: v for k, v in sorted(precisaOrdenar.items(), key=lambda item: item[1])}

print(ordenado)

Veja a saída:

{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}

Perceba que o dicionário foi ordenado corretamente pelos valores, as chaves não influenciam na ordem

Caso você precise que a ordem seja inversa, utilize o parâmetro reverse=True

Veja um exemplo:

precisaOrdenar = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

ordenado = {k: v for k, v in sorted(precisaOrdenar.items(), key=lambda item: item[1], reverse=True)}

print(ordenado)

E a saída:

{3: 4, 4: 3, 1: 2, 2: 1, 0: 0}

Mais uma vez, o dicionário foi ordenado apenas pelos valores, agora de forma inversa

Conclusão

Neste artigo vimos como ordenar um dicionário pelo valor no Python

Utilizamos o método sorted, com uma função lambda, que é a maneira que o Python tem para acessar valores de objetos completos um a um

Desta maneira os dicionários são ordenados pelo seu valor, podemos inverter a ordem utilizando o parâmetro reversed com True

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Marcos

Muito boa a dica!

Battisti

valeu Marcos!