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

Como ordenar uma lista de dicionários ?

Por exemplo:


[{'proprietario': 'Elton John',
  'combustível': 'gasolina',
  'modelo': 'classic',
  'cor': 'prata',
  'ano': '1999',
  'placa': 'TRE1234',
  'vaga': 1},
 {'proprietario': 'Valdemar Ramos',
  'combustível': 'flex',
  'modelo': 'honda',
  'cor': 'preto',
  'ano': '1997',
  'placa': 'TRY6712',
  'vaga': 2},
 {'proprietario': 'João das Coves Santos',
  'combustível': 'álcool',
  'modelo': 'HTR',
  'cor': 'verde',
  'ano': '2022',
  'placa': 'TYU9966',
  'vaga': 3}]

Gostaria de ordenar a lista de dicionários acima pelo ano, por exemplo.

1 resposta
solução!

Oiii Edson, tudo bem com você?

Para ordenarmos uma lista de dicionários podemos utilizar a função sorted em conjunto com uma função lambda e passarmos a chave que queremos que seja ordenada. Como apresentado abaixo.

lista = [
    {'proprietario': 'Elton John',
     'combustível': 'gasolina',
     'modelo': 'classic',
     'cor': 'prata',
     'ano': '1999',
     'placa': 'TRE1234',
     'vaga': 1},
    {'proprietario': 'Valdemar Ramos',
     'combustível': 'flex',
     'modelo': 'honda',
     'cor': 'preto',
     'ano': '1997',
     'placa': 'TRY6712',
     'vaga': 2},
    {'proprietario': 'João das Coves Santos',
     'combustível': 'álcool',
     'modelo': 'HTR',
     'cor': 'verde',
     'ano': '2022',
     'placa': 'TYU9966',
     'vaga': 3}]

lista_oredenada = sorted(lista, key=lambda dicionario: dicionario['ano'])
print(lista_oredenada)

Resultado

[{'ano': '1997',
  'combustível': 'flex',
  'cor': 'preto',
  'modelo': 'honda',
  'placa': 'TRY6712',
  'proprietario': 'Valdemar Ramos',
  'vaga': 2},
 {'ano': '1999',
  'combustível': 'gasolina',
  'cor': 'prata',
  'modelo': 'classic',
  'placa': 'TRE1234',
  'proprietario': 'Elton John',
  'vaga': 1},
 {'ano': '2022',
  'combustível': 'álcool',
  'cor': 'verde',
  'modelo': 'HTR',
  'placa': 'TYU9966',
  'proprietario': 'João das Coves Santos',
  'vaga': 3}]

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!