[英]python np.array value change
我对以下两个print(an_array)
语句为什么给出两个不同的结果感到困惑。
尽管在分配过程中b_slice
被显式定义为np.array
,但是a_slice
和b_slice
的类型相同,但使用type
命令。但是a-slice
会更改an_array
的值,而b_slice
不会。 如果有人能指出我的解释,我将不胜感激。
an_array = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
a_slice = an_array[:2, 1:3]
print(type(a_slice)) # <class 'numpy.ndarray'>
print(type(b_slice)) # <class 'numpy.ndarray'>
b_slice = np.array(an_array[:2, 1:3]
b_slice[0,0] = 2000
print(an_array) # returns no change to an_array
[[1 2 3 4]
[5 6 7 8]
[9 10 11 12]]
a_slice[0,0] = 2000
print(an_array) # shows the change from the number 2 to the number 2000
[[1 2000 3 4]
[5 6 7 8]
[9 10 11 12]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.