Python | Obtener K-ésima columna de Matrix

A veces, al trabajar con Python Matrix, uno puede tener un problema en el que necesita encontrar la columna Kth de Matrix. Este es un problema muy popular en el dominio de aprendizaje automático y es útil tener una solución para esto. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: usar la comprensión de listas
Este problema se puede resolver usando la comprensión de listas en la que podemos iterar a través de todas las filas y recopilar selectivamente todos los elementos que se encuentran en el índice K-ésimo.

# Python3 code to demonstrate working of
# Get Kth Column of Matrix
# using list comprehension
  
# initialize list
test_list = [[4, 5, 6], [8, 1, 10], [7, 12, 5]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initialize K
K = 2
  
# Get Kth Column of Matrix
# using list comprehension
res = [sub[K] for sub in test_list]
  
# printing result
print("The Kth column of matrix is : " + str(res))
Producción :

The original list is : [[4, 5, 6], [8, 1, 10], [7, 12, 5]]
The Kth column of matrix is : [6, 10, 5]

Método #2: Usarzip()
Esta tarea también se puede realizar usando zip(). Esto hace la tarea similar de recopilar elementos como lo hace la comprensión de la lista anterior y ofrece una ejecución compacta pero más lenta. Funciona solo con Python2.

# Python code to demonstrate working of
# Get Kth Column of Matrix
# using zip()
  
# initialize list
test_list = [[4, 5, 6], [8, 1, 10], [7, 12, 5]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initialize K
K = 2
  
# Get Kth Column of Matrix
# using zip()
res = list(zip(*test_list)[K])
  
# printing result
print("The Kth column of matrix is : " + str(res))
Producción :

The original list is : [[4, 5, 6], [8, 1, 10], [7, 12, 5]]
The Kth column of matrix is : [6, 10, 5]

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 *