在NumPy中,如果我们有一个ND数组,然后我们有同一个ND数组的多个切片,那么如果我们在其中一个切片中进行更改,那么它将在所有切片中反映[即没有创建新对象],那么为什么我们判断这些切片的id(),那么它们看起来不同呢?
例:
import numpy as np
a = np.array([10,20,30,40,50,60,70,80,90])
b = a[:5]
c = a[2:6]
d = a[3:7]
a
array([10, 20, 30, 40, 50, 60, 70, 80, 90])
b
array([10, 20, 30, 40, 50])
c
array([30, 40, 50, 60])
d
array([40, 50, 60, 70])
a[3]=9999
a
array([ 10, 20, 30, 9999, 50, 60, 70, 80, 90])
b
array([ 10, 20, 30, 9999, 50])
c
array([ 30, 9999, 50, 60])
d
array([9999, 50, 60, 70])
id(a)
1592350341040
id(b)
1592350341424
id(c)
1592353526704
id(d)
1592750164944
.