将指针键入numpy数组的中间

2024-04-27 05:02:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道如何获取指向numpy数组开头的ctypes指针:

a = np.arange(10000, dtype=np.double)
p = a.ctypes.data_as(POINTER(c_double))
p.contents
c_double(0.0)

但是,我需要传递指针到元素100,,而不复制数组。 必须有一个简单的方法来做,但找不到。在

谢谢你的任何暗示。在


Tags: 方法numpy元素dataasnpcontents数组
1条回答
网友
1楼 · 发布于 2024-04-27 05:02:46

切片一个numpy数组会创建一个视图,而不是一个副本:

>>> a = numpy.arange(10000, dtype=numpy.double)
>>> p = a[100:].ctypes.data_as(ctypes.POINTER(ctypes.c_double))
>>> p.contents
c_double(100.0)
>>> a[100] = 55
>>> p.contents
c_double(55.0)

相关问题 更多 >