A veces, mientras trabajamos con registros de Python, podemos tener un problema en el que necesitamos agregar una columna personalizada a la lista de tuplas. Este tipo de problema puede tener aplicación en dominios de datos como el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada :
test_list = [(3, ), (7, ), (2, )]
cus_eles = [7, 8, 2]
Salida : [(3, 7), (7, 8), (2, 2)]Entrada :
test_list = [(3, 9, 6, 10)]
cus_eles = [7]
Salida : [(3, 9, 6, 10, 7)]
Método n.º 1: Uso de la comprensión de listas +zip()
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, realizamos el emparejamiento de elementos personalizados y tuplas con la ayuda de zip().
# Python3 code to demonstrate working of # Add Custom Column to Tuple list # Using list comprehension + zip() # initializing list test_list = [(3, 4), (78, 76), (2, 3)] # printing original list print("The original list is : " + str(test_list)) # initializing add list cus_eles = [17, 23, 12] # Add Custom Column to Tuple list # Using list comprehension + zip() res = [sub + (val, ) for sub, val in zip(test_list, cus_eles)] # printing result print("The tuples after adding elements : " + str(res))
The original list is : [(3, 4), (78, 76), (2, 3)] The tuples after adding elements : [(3, 4, 17), (78, 76, 23), (2, 3, 12)]
Método #2: Usar map()
+ lambda
La combinación de las funciones anteriores también se puede usar para resolver este problema. En esto, realizamos la tarea de extender la lógica a cada tupla usando map() y lambda se usa para realizar la tarea de suma.
# Python3 code to demonstrate working of # Add Custom Column to Tuple list # Using map() + lambda # initializing list test_list = [(3, 4), (78, 76), (2, 3)] # printing original list print("The original list is : " + str(test_list)) # initializing add list cus_eles = [17, 23, 12] # Add Custom Column to Tuple list # Using map() + lambda res = list(map(lambda a, b: a +(b, ), test_list, cur_eles)) # printing result print("The tuples after adding elements : " + str(res))
The original list is : [(3, 4), (78, 76), (2, 3)] The tuples after adding elements : [(3, 4, 17), (78, 76, 23), (2, 3, 12)]
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