Python: convertir array en array de tupla personalizada

A veces, mientras trabajamos con Python Matrix, podemos tener un problema en el que necesitamos realizar la conversión de una array de Python a una array de tuplas con un valor adjunto personalizado en fila desde una lista externa. Este tipo de problema puede tener aplicación en dominios de datos ya que Matrix es el DS integral que se utiliza. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [[4, 5], [7, 3]], add_list = [‘Gfg’, ‘best’] Salida : [(‘Gfg’, 4), (‘Gfg’, 5), (‘ mejor’, 7), (‘mejor’, 3)] Entrada : test_list = [[4, 5]], add_list = [‘Gfg’] Salida : [(‘Gfg’, 4), (‘Gfg’, 5 )]

Método #1: Usar loop + zip() La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de vincular el valor personalizado a cada elemento de la fila usando zip(). Esta es una forma de fuerza bruta para realizar esta tarea. 

Python3

# Python3 code to demonstrate working of
# Convert Matrix to Custom Tuple Matrix
# Using zip() + loop
 
# initializing lists
test_list = [[4, 5, 6], [6, 7, 3], [1, 3, 4]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing List elements
add_list = ['Gfg', 'is', 'best']
 
# Convert Matrix to Custom Tuple Matrix
# Using zip() + loop
res = []
for idx, ele in zip(add_list, test_list):
  for e in ele:
    res.append((idx, e))
 
# printing result
print("Matrix after conversion : " + str(res))
Salida: la lista original es: [[4, 5, 6], [6, 7, 3], [1, 3, 4]] Array después de la conversión: [(‘Gfg’, 4), (‘Gfg’, 5), (‘Gfg’, 6), (‘es’, 6), (‘es’, 7), (‘es’, 3), (‘mejor’, 1), (‘mejor’, 3) , (‘mejor’, 4)]

  Método n.° 2: Uso de la comprensión de listas + zip() Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos una tarea similar al método anterior, solo como una abreviatura. 

Python3

# Python3 code to demonstrate working of
# Convert Matrix to Custom Tuple Matrix
# Using list comprehension + zip()
 
# initializing lists
test_list = [[4, 5, 6], [6, 7, 3], [1, 3, 4]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing List elements
add_list = ['Gfg', 'is', 'best']
 
# Convert Matrix to Custom Tuple Matrix
# Using list comprehension + zip()
res = [(ele1, ele2) for ele1, sub in zip(add_list, test_list) for ele2 in sub]
 
# printing result
print("Matrix after conversion : " + str(res))
Salida: la lista original es: [[4, 5, 6], [6, 7, 3], [1, 3, 4]] Array después de la conversión: [(‘Gfg’, 4), (‘Gfg’, 5), (‘Gfg’, 6), (‘es’, 6), (‘es’, 7), (‘es’, 3), (‘mejor’, 1), (‘mejor’, 3) , (‘mejor’, 4)]

La Complejidad de Tiempo y Espacio es la misma para ambos métodos:

Complejidad temporal: O(n 2 )

Complejidad espacial: O(n)

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 *