引用单个numpy数组元素

jrs*_*rsm 5 python numpy

可以说我有一个像numpy数组

x = np.arange(10)
Run Code Online (Sandbox Code Playgroud)

以某种方式可以创建对单个元素的引用,即

y = create_a_reference_to(x[3])
y = 100 
print x
[  0   1   2 100   4   5   6   7   8   9]
Run Code Online (Sandbox Code Playgroud)

gon*_*opp 8

您无法创建对单个元素的引用,但您可以获取该单个元素的视图:

>>> x=numpy.arange(10)
>>> y=a[3:4]
>>> y[0]=100
>>> x
array([0, 1, 2, 100, 4, 5, 6, 7, 8, 9])
Run Code Online (Sandbox Code Playgroud)

你不能做前者的原因是python中的所有东西都是参考.通过这样做y = 100,你正在修改y指向的东西- 而不是它的价值.

如果您真的想要,可以使用属性在实例属性上获取该行为.请注意,这是唯一可能的,因为python数据模型在访问类属性时指定了其他操作 - 不可能为变量获取此行为.