From 6227dc9197ab182fca8b1d7fa72c4b4d842aab4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Sun, 6 Nov 2022 11:38:31 -0300 Subject: [PATCH] groupby - agrupando valores (itertools) --- aula110.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 aula110.py diff --git a/aula110.py b/aula110.py new file mode 100644 index 0000000..b7ea76b --- /dev/null +++ b/aula110.py @@ -0,0 +1,27 @@ +# 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)