28 lines
657 B
Python
28 lines
657 B
Python
# groupby - agrupando valores (itertools)
|
|
from itertools import groupby
|
|
|
|
alunos = [
|
|
{'nome': 'Luiz', 'nota': 'A'},
|
|
{'nome': 'Letícia', 'nota': 'B'},
|
|
{'nome': 'Fabrício', 'nota': 'A'},
|
|
{'nome': 'Rosemary', 'nota': 'C'},
|
|
{'nome': 'Joana', 'nota': 'D'},
|
|
{'nome': 'João', 'nota': 'A'},
|
|
{'nome': 'Eduardo', 'nota': 'B'},
|
|
{'nome': 'André', 'nota': 'A'},
|
|
{'nome': 'Anderson', 'nota': 'C'},
|
|
]
|
|
|
|
|
|
def ordena(aluno):
|
|
return aluno['nota']
|
|
|
|
|
|
alunos_agrupados = sorted(alunos, key=ordena)
|
|
grupos = groupby(alunos_agrupados, key=ordena)
|
|
|
|
for chave, grupo in grupos:
|
|
print(chave)
|
|
for aluno in grupo:
|
|
print(aluno)
|