1
resposta

Ordenar um dicionário com base nas suas chaves

Oi, gente! Estava lendo esse artigo de vocês: https://www.alura.com.br/artigos/trabalhando-com-o-dicionario-no-python e surgiu a dúvida de como eu poderia fazer para ordenar um dicionário com base nos valores das chaves. Por enquanto, fiz assim:

#lista de contatos
contatos_lista = [('Yan', '1234-5678'), ('Pedro', '9999-9999'), ('Ana', '8765-4321'), ('Marina', '8877-7788')]
contatos = dict(contatos_lista)
#ordenar dict por valores
ordered_dict = {}
for key in sorted(contatos):
  ordered_dict[key] = contatos[key]
contatos = ordered_dict

Mas acredito que criar essa segunda lista temporária, o "ordered_dict", não seja a solução mais eficaz, certo? Teria um jeito melhor de fazer?

1 resposta

Olá Luíza, tudo bem? Espero que sim!

Você poderia utilizar uma classe do Python chamada OrderedDict, é uma estrutura de dados que armazena em formato de dicionário ordenado.

Vou deixar aqui o link da documentação caso queira dar uma olhada: https://docs.python.org/3/library/collections.html#collections.OrderedDict.

Bons estudos!