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))
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