【发布时间】:2011-01-31 20:34:29
【问题描述】:
如何在 python 中创建特定类型的已定义长度的数组?准确地说,我正在尝试创建一个最多可容纳 1024 条记录的句柄数组。我想出了一个类似于 python 中的 HANDLE 类型,它是 ctypes 的 c_void_p。
例如 C++ 代码将具有:
HANDLE myHandles[1024];
python 与上面的 C++ 代码有何相似之处? 感谢您的意见。
【问题讨论】:
如何在 python 中创建特定类型的已定义长度的数组?准确地说,我正在尝试创建一个最多可容纳 1024 条记录的句柄数组。我想出了一个类似于 python 中的 HANDLE 类型,它是 ctypes 的 c_void_p。
例如 C++ 代码将具有:
HANDLE myHandles[1024];
python 与上面的 C++ 代码有何相似之处? 感谢您的意见。
【问题讨论】:
您已经接受了答案,但由于您标记了 ctypes,您可能想知道如何创建 ctypes 类型的数组:
>>> import ctypes
>>> ctypes.c_void_p * 1024 # NOTE: this is a TYPE
<class '__main__.c_void_p_Array_1024'>
>>> (ctypes.c_void_p * 1024)() # This is an INSTANCE
<__main__.c_void_p_Array_1024 object at 0x009BB5D0>
【讨论】:
在python中,你通常只创建一个数组,你可以在里面放任何你喜欢的值。它是动态的。
my_handles = []
您现在可以在其中添加任意数量的任何类型的值。 ...您是否有特定原因要创建特定类型和特定长度?
【讨论】:
my_handles = [] 请