Python - Fácil y rápida para dividir valores de una lista 2D por un solo valor

AAGC:

Por ejemplo, tengo una 2Dlista de 2x2dimensió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 2Dlista 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 numpyla 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]]

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=365195&siteId=1
Recomendado
Clasificación