Python: array 3D a lista de coordenadas

Dada una array, cada elemento de la fila es una lista, empareje cada columna para formar coordenadas.

Entrada : test_list = [[[9, 2], [10, 3]], [[13, 6], [19, 7]]]
Salida : [(9, 10), (2, 3), (13) , 19), (6, 7)]
Explicación : pares mapeados de columnas.

Entrada : test_list = [[[13, 6], [19, 7]]]
Salida : [(13, 19), (6, 7)]
Explicación : Pares asignados de columnas.

Método #1: Usar loop + zip()

En esto, iteramos para todos los elementos emparejados en la lista de tuplas internas, que se empareja usando zip(), y agregamos la lista de resultados.

Python3

# Python3 code to demonstrate working of 
# 3D Matrix to Coordinate List
# Using loop + zip()
  
# initializing list
test_list = [[[5, 6, 7], [2, 4, 6]], [[9, 2], [10, 3]], [[13, 6], [19, 7]]]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = []
for sub1, sub2 in test_list:
      
    # zip() used to form pairing
    for ele in zip(sub1, sub2):
        res.append(ele)
  
# printing result 
print("Constructed Pairs : " + str(res))
Producción

The original list is : [[[5, 6, 7], [2, 4, 6]], [[9, 2], [10, 3]], [[13, 6], [19, 7]]]
Constructed Pairs : [(5, 2), (6, 4), (7, 6), (9, 10), (2, 3), (13, 19), (6, 7)]

Método #2: Usar la comprensión de listas

En esto, realizo la tarea del método anterior en taquigrafía usando comprensión de lista.

Python3

# Python3 code to demonstrate working of 
# 3D Matrix to Coordinate List
# Using loop + zip()
  
# initializing list
test_list = [[[5, 6, 7], [2, 4, 6]], [[9, 2], [10, 3]], [[13, 6], [19, 7]]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# list comprehension to perform task in shorthand
res = [ele for sub1, sub2 in test_list for ele in zip(sub1, sub2)]
  
# printing result 
print("Constructed Pairs : " + str(res))
Producción

The original list is : [[[5, 6, 7], [2, 4, 6]], [[9, 2], [10, 3]], [[13, 6], [19, 7]]]
Constructed Pairs : [(5, 2), (6, 4), (7, 6), (9, 10), (2, 3), (13, 19), (6, 7)]

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 *