AAGC:
Por ejemplo, tengo una 2D
lista de 2x2
dimensión almacenado en una variable r
.
12 24
36 48
Quiero dividir cada valor de la lista por 2
. Una manera lenta fácil de hacer esto es para recorrer cada fila y columna y se divide por 2
.
rows = 2
columns = 2
for x in range(rows):
for y in range(columns):
r[x][y] = r[x][y]/2
¿Hay una manera fácil y rápida para dividir cada valor en una 2D
lista a un valor específico que no sea el enfoque manual? He probado el código de abajo pero genera un error:
s = r /2
Error:
TypeError: unsupported operand type(s) for /: 'list' and 'int'
Shubham Sharma:
Puede utilizar numpy
la biblioteca para lograr el resultado deseado. se utiliza por lo que su vectorización de la manera más rápida de hacer la operación.
Prueba esto:
import numpy as np
arr = np.array(r) # --> initialize with 2d array
arr = arr / 2 # --> Now each element in the 2d array gets divided by 2
Por ejemplo:
arr = np.array([[1, 2], [2, 3]]) # --> initialize with 2d array
arr = arr / 2 # --> divide by the scalar
print(arr)
Salida:
[[0.5 1. ]
[1. 1.5]]