A veces, mientras trabajamos con tuplas de Python, podemos tener un problema en el que necesitamos realizar la adición de elementos personalizados por filas en la array Tuple. Este tipo de problema puede tener aplicación en dominios de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada :
test_list = [[(‘Gfg’, 3)], [(‘best’, 1)]]
cus_eles = [1, 2]
Salida : [[(‘Gfg’, 3, 1)], [(‘ mejor’, 1, 2)]]Entrada :
test_list = [[(‘Gfg’, 6), (‘Gfg’, 3)]]
cus_eles = [7]
Salida : [[(‘Gfg’, 6, 7), (‘Gfg’, 3, 7 )]]
Método n.º 1: usar enumerate()
+ comprensión de listas anidadas
La combinación de los métodos anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de agregar elementos usando la comprensión de lista anidada y la iteración de índice por enumerate().
# Python3 code to demonstrate working of # Row-wise element Addition in Tuple Matrix # Using enumerate() + list comprehension # initializing list test_list = [[('Gfg', 3), ('is', 3)], [('best', 1)], [('for', 5), ('geeks', 1)]] # printing original list print("The original list is : " + str(test_list)) # initializing Custom eles cus_eles = [6, 7, 8] # Row-wise element Addition in Tuple Matrix # Using enumerate() + list comprehension res = [[sub + (cus_eles[idx], ) for sub in val] for idx, val in enumerate(test_list)] # printing result print("The matrix after row elements addition : " + str(res))
La lista original es: [[(‘Gfg’, 3), (‘is’, 3)], [(‘best’, 1)], [(‘for’, 5), (‘geeks’, 1) ]]
La array después de la suma de elementos de fila: [[(‘Gfg’, 3, 6), (‘is’, 3, 6)], [(‘best’, 1, 7)], [(‘for’, 5, 8), (‘geeks’, 1, 8)]]
Método n.º 2: usar zip()
la comprensión de listas +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de combinar nuevos elementos de fila con las filas respectivas usando zip(), en lugar de enumerar().
# Python3 code to demonstrate working of # Row-wise element Addition in Tuple Matrix # Using zip() + list comprehension # initializing list test_list = [[('Gfg', 3), ('is', 3)], [('best', 1)], [('for', 5), ('geeks', 1)]] # printing original list print("The original list is : " + str(test_list)) # initializing Custom eles cus_eles = [6, 7, 8] # Row-wise element Addition in Tuple Matrix # Using zip() + list comprehension res = [[(idx, val) for idx in key] for key, val in zip(test_list, cus_eles)] # printing result print("The matrix after row elements addition : " + str(res))
La lista original es: [[(‘Gfg’, 3), (‘is’, 3)], [(‘best’, 1)], [(‘for’, 5), (‘geeks’, 1) ]]
La array después de la suma de elementos de fila: [[(‘Gfg’, 3, 6), (‘is’, 3, 6)], [(‘best’, 1, 7)], [(‘for’, 5, 8), (‘geeks’, 1, 8)]]
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