import numpy as np
a = np.array([[0, 1, 2],
[0, 1, 2],
[1, 1, 2]])
a[[0, 1]] = 100 # Changed
print(a)
a[[0, 1]][0, 0] = 98 # Not Changed
print(a)
a[0:2][0, 0] = 99 # Changed
print(a)
输出结果为:
# first
[[100 100 100]
[100 100 100]
[ 1 1 2]]
# second
[[100 100 100]
[100 100 100]
[ 1 1 2]]
# third
[[ 99 100 100]
[100 100 100]
[ 1 1 2]]
那么为什么第二种方法没有改变a数组,而第一种方法和第三种方法都可以呢?我已经谷歌了很多答案,但我还是不明白。