Python – Tuplas de grupo por elemento de índice Kth

A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos realizar la agrupación de elementos de tupla por elemento de índice Kth similar. Este tipo de problema puede tener aplicación en el dominio del desarrollo web. Vamos a discutir cierta forma en que se puede realizar esta tarea.

Entrada : test_list = [(4, 5), (3, 2), (2, 2), (1, 2), (5, 5)], K = 0
Salida : [((1, 2), ) , ((2, 2), ), ((3, 2), ), ((4, 5), ), ((5, 5), )]

Entrada : test_list = [(4, 5), (3, 2), (2, 2)], K = 1
Salida : [((2, 2), (3, 2)), ((4, 5) , )]

Método: Usar la groupby() + itemegetter()expresión del generador +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de agrupar los elementos del índice Kth extraídos usando itemgetter y la expresión del generador se usa para unir toda la lógica.

# Python3 code to demonstrate working of 
# Group Tuples by Kth Index Element
# Using groupby() + itemegetter() + generator expression
from operator import itemgetter
from itertools import groupby
  
# initializing lists
test_list = [(4, 5), (3, 2), (2, 2), (1, 2), (5, 5)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 1
  
# Group Tuples by Kth Index Element
# Using groupby() + itemegetter() + generator expression
test_list.sort()
res = list(tuple(sub) for idx, sub in groupby(test_list, key = itemgetter(K)))
  
# printing result 
print("Tuples after grouping : " + str(res))
Producción :

The original list is : [(4, 5), (3, 2), (2, 2), (1, 2), (5, 5)]
Tuples after grouping : [((1, 2), (2, 2), (3, 2)), ((4, 5), (5, 5))]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *