Introdução
Dicionários são uma estrutura de dados fundamental em Python que permite armazenar pares chave-valor. No entanto, às vezes você pode precisar ordenar um dicionário por seus valores em vez de suas chaves. Neste desafio, você será encarregado de criar uma função que ordena um dicionário por seus valores.
Ordenar Dicionário
Escreva uma função chamada sort_dict_by_value(d, reverse=False) que recebe um dicionário d e o ordena por seus valores. A função deve retornar um novo dicionário com as mesmas chaves do dicionário original, mas com os valores ordenados em ordem crescente. Se o parâmetro reverse for definido como True, a função deve ordenar o dicionário em ordem decrescente.
Para resolver este problema, você pode seguir estes passos:
- Use
dict.items()para obter uma lista de pares de tuplas ded. - Ordene a lista usando uma função lambda e
sorted(). - Use
dict()para converter a lista ordenada de volta em um dicionário. - Use o parâmetro
reverseemsorted()para ordenar o dicionário em ordem inversa, com base no segundo argumento.
⚠️ AVISO: Os valores do dicionário devem ser do mesmo tipo.
def sort_dict_by_value(d, reverse = False):
return dict(sorted(d.items(), key = lambda x: x[1], reverse = reverse))
d = {'one': 1, 'three': 3, 'five': 5, 'two': 2, 'four': 4}
sort_dict_by_value(d) ## {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
sort_dict_by_value(d, True)
## {'five': 5, 'four': 4, 'three': 3, 'two': 2, 'one': 1}
Resumo
Neste desafio, você aprendeu como ordenar um dicionário por seus valores usando Python. Você pode usar esse conhecimento para manipular e analisar dados armazenados em dicionários de forma mais eficaz.