or que o Python copia matrizes NumPy em que o comprimento das dimensões é o mesm
Tenho um problema ao referenciar uma matriz NumPy. Eu tenho uma matriz do formulário
import numpy as np
a = [np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
np.array([0.0, 0.2, 0.4, 0.6, 0.8])]
Se eu criar agora uma nova variável,
b = np.array(a)
e faze
b[0] += 1
print(a)
entãoa
não está mudando.
a = [array([0. , 0.2, 0.4, 0.6, 0.8]),
array([0. , 0.2, 0.4, 0.6, 0.8]),
array([0. , 0.2, 0.4, 0.6, 0.8])]
Mas se eu fizer a mesma coisa com:
a = [np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
np.array([0.0, 0.2, 0.4, 0.6])]
so removi um número no final da última dimensão. Então eu faço isso de novo:
b = np.array(a)
b[0] += 1
print(a)
Agoraa
está mudando, o que eu pensava ser o comportamento normal em Pytho
a = [array([1. , 1.2, 1.4, 1.6, 1.8]),
array([0. , 0.2, 0.4, 0.6, 0.8]),
array([0. , 0.2, 0.4, 0.6])]
Alguém pode me explicar isso?