itertools.groupby() en Python

Requisitos previos: Python Itertools

Itertool de Python es un módulo que proporciona varias funciones que funcionan en iteradores para producir iteradores complejos. Este módulo funciona como una herramienta rápida y eficiente en memoria que se usa solo o en combinación para formar álgebra de iteración.

Itertools.groupby()

Este método calcula las claves para cada elemento presente en iterable. Devuelve clave e iterable de elementos agrupados.

Sintaxis: itertools.groupby(iterable, key_func)

Parámetros:
iterable: Iterable puede ser de cualquier tipo (lista, tupla, diccionario).
clave: una función que calcula claves para cada elemento presente en iterable.

Tipo de retorno: Devuelve claves y grupos consecutivos del iterable. Si la función clave no se especifica o es Ninguna, la clave predeterminada es una función de identidad y devuelve el elemento sin cambios.

Ejemplo 1:

# Python code to demonstrate 
# itertools.groupby() method 
  
  
import itertools
  
  
L = [("a", 1), ("a", 2), ("b", 3), ("b", 4)]
  
# Key function
key_func = lambda x: x[0]
  
for key, group in itertools.groupby(L, key_func):
    print(key + " :", list(group))

Producción:

a : [('a', 1), ('a', 2)]
b : [('b', 3), ('b', 4)]

Ejemplo 2:

# Python code to demonstrate 
# itertools.groupby() method 
  
  
import itertools
  
  
a_list = [("Animal", "cat"), 
          ("Animal", "dog"), 
          ("Bird", "peacock"), 
          ("Bird", "pigeon")]
  
  
an_iterator = itertools.groupby(a_list, lambda x : x[0])
  
for key, group in an_iterator:
    key_and_group = {key : list(group)}
    print(key_and_group)

Producción

{'Animal': [('Animal', 'cat'), ('Animal', 'dog')]}
{'Bird': [('Bird', 'peacock'), ('Bird', 'pigeon')]}

Publicación traducida automáticamente

Artículo escrito por priyanshid1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *