Python | Lista de strings a array de caracteres de columna

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos convertir la lista de strings a una array de caracteres donde cada fila es una columna de lista de strings. Esto puede tener una posible aplicación en dominios de datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Uso de la comprensión de listas
Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para cada elemento String y construimos filas usando elementos de índice.

# Python3 code to demonstrate working of 
# String List to Column Character Matrix
# Using list comprehension
  
# initializing list
test_list = ["123", "456", "789"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# String List to Column Character Matrix
# Using list comprehension
res = [[sub[idx] for sub in test_list] for idx in range(len(test_list[0]))]
  
# printing result 
print("The Character Matrix : " + str(res)) 
Producción :

The original list is : ['123', '456', '789']
The Character Matrix : [['1', '4', '7'], ['2', '5', '8'], ['3', '6', '9']]

Método #2: Usarzip() + map()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, construimos las columnas usando zip() y map() se usa para compilar todas las listas anidadas.

# Python3 code to demonstrate working of 
# String List to Column Character Matrix
# Using zip() + map()
  
# initializing list
test_list = ["123", "456", "789"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# String List to Column Character Matrix
# Using zip() + map()
res = list(map(list, zip(*test_list)))
  
# printing result 
print("The Character Matrix : " + str(res)) 
Producción :

The original list is : ['123', '456', '789']
The Character Matrix : [['1', '4', '7'], ['2', '5', '8'], ['3', '6', '9']]

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 *