如何将数组 [2] 的地址作为对 python 中函数的引用传递

How to pass the address of array[2] as a reference to a function in python

我正在尝试将数组 reg_value[2] 的地址传递给 python

中的函数
import array
reg_value = array.array('I',[0]*100)

def postdata(data):
        for i in range(2):
            print(data[i])

reg_value[0]=1
reg_value[1]=2
reg_value[2]=3
reg_value[3]=4

postdata(reg_value)

上面的代码打印值 1 2

但我需要传递 reg_value[2] 的地址来打印值 3 4

我可以在 C 编程中实现这一点,例如将地址传递为 &reg_value[2]

如何在 python 中复制相同的内容?

您不能在 Python 中传递任何内容的地址,但您可以传递包含子序列的切片。

postdata(reg_value[2:])

这确实创建了序列中项目的副本。可能更好的设计是允许调用者指定一个基本索引。

def postdata(items, offset=0):
    for i in range(2):
        print(items[offset+i])
for i in range(2,4):
    print(data[i])