我想创建一个cypes.c_int32 32的列表
我读过并理解了List of lists changes reflected across sublists unexpectedly。
不管我做什么,我都会一直创建一个c_int32实例的列表。对于int或floats或其他什么,这很好。具体来说,我不能让机顶盒工作。
f=[ctypes.c_int32]*10但f是f1所以..。
f[0].value=1也改变了f1。我知道它为什么要这么做。我怎么才能让它停下来。也就是说,如何使列表中所有的c_int32实例都是唯一的?
发布于 2014-03-06 04:40:15
这是一个典型的Python错误。为了解决这个问题,您可以创建如下列表:
f = [ctypes.c_int32() for i in range(10)]这能做你想做的事。另一个(更干净的)选项是通过以下方法创建一个ctype数组:
f = (ctypes.c_int32 * 10)()https://stackoverflow.com/questions/22215016
复制相似问题