Démystifier Itertools.groupby() de Python
Comprendre l'essence d'Itertools.groupby()
Itertools.groupby(), une puissante fonction Python, vous permet de partitionner les données en groupes logiques éléments basés sur un critère spécifié. Il faut deux paramètres : les données à regrouper et une fonction clé qui définit la condition de regroupement.
L'essentiel de la mise en œuvre
Exemple avec des noms de variables clairs
from itertools import groupby things = [("animal", "bear"), ("animal", "duck"), ("plant", "cactus"), ("vehicle", "speed boat"), ("vehicle", "school bus")] for key, group in groupby(things, lambda x: x[0]): print(f"A {group[0]} is a {key}.")
Sortie :
A bear is a animal. A duck is a animal. A cactus is a plant. A speed boat is a vehicle. A school bus is a vehicle.
Importance des données Tri
Notez que, dans certains cas, vous devrez peut-être trier vos données au préalable pour garantir un regroupement précis.
Approche de compréhension de liste
Une implémentation alternative utilisant la liste compréhensions :
for key, group in groupby(things, lambda x: x[0]): listOfThings = " and ".join([thing[1] for thing in group]) print(f"{key}s: {listOfThings}.")
Sortie :
animals: bear and duck. plants: cactus. vehicles: speed boat and school bus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!