Python – Adición de elementos por filas en Tuple Matrix

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)) 
Producción :

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)) 
Producción :

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

Deja una respuesta

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