Inconnu de manière inattendue!? Fonction de bibliothèque standard Python groupby

Le module de bibliothèque standard Python itertools fournit des fonctions pratiques pour gérer les itérateurs. Parmi eux, groupby est souvent utilisé, mais je vais le présenter car beaucoup de gens ne le savent pas. ..

groupby

Une fonction qui regroupe les itérables (listes, itérateurs, etc.) avec des clés arbitraires. La valeur de retour est un itérateur de la clé et des éléments qui appartiennent à la clé.

L'itérable passé à groupby doit être trié à l'avance car les éléments avec la même clé doivent être consécutifs.

Utilisation de base

Il est difficile d'obtenir une image simplement en expliquant, alors jetons un coup d'œil à un exemple simple.

Voici un exemple de regroupement d'une liste dont les éléments sont un tuple de lettres et de chiffres.

from itertools import groupby
from operator import itemgetter

a = [("b", 3), ("a", 1), ("c", 2), ("a", 2), ("b", 1)]
a = sorted(a, key=itemgetter(0))

for (k, g) in groupby(a, key=itemgetter(0)):
    print("key:" + k)
    for item in g:
        print(item)

Résultat d'exécution


key:a
('a', 1)
('a', 2)
key:b
('b', 3)
('b', 1)
key:c
('c', 2)

Si vous utilisez groupby sans trier, vous obtiendrez ce qui suit.

:Si vous l'exécutez sans trier...


key:b
('b', 3)
key:a
('a', 1)
key:c
('c', 2)
key:a
('a', 2)
key:b
('b', 1)

Recommended Posts

Inconnu de manière inattendue!? Fonction de bibliothèque standard Python groupby
Pas étonnamment connu! ?? Qu'en est-il des arguments de fonction intégrés? De quelle école êtes-vous? [Python]
Fonctions Python
Bibliothèque standard Python: seconde moitié (mémo d'apprentissage Python ⑨)
Bibliothèque standard Python: première moitié (mémo d'apprentissage Python ⑧)
Bibliothèque de messagerie Python 3.6
[Python] Entrée standard
Note sur la bibliothèque Python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Fonctions Python faciles à utiliser
bases de python: fonctions
Peut être utilisé chez les pros de la compétition! Bibliothèque standard Python
[Redash] La bibliothèque standard ne peut pas être utilisée dans la fonction python