python - 编辑 : how to declare array of struct in Python

标签 python c arrays struct

全部编辑

import struct
from collections import namedtuple

FDResult = namedtuple('FDResult', ['DeviceID', 'PageNum'])
#bla = [FDResult(DeviceID='NR0951113', PageNum=[1,2,3,4]),
 #FDResult(DeviceID='NR0951114', PageNum=[17,28,63,64]),
 #FDResult(DeviceID='NR0951115', PageNum=[2,3,4,5])]

bla = [FDResult(DeviceID='NR0951115', PageNum=[1])] #how to declare bla as FDResult array and blank data inside,Length of bla should equal 0
bla.append(FDResult(DeviceID='NR0951112', PageNum=[2])) 
print(len(bla))

bla[0].PageNum.append(16)

如何在Python中声明结构数组?
FD结果数组和里面的空白数据,bla的长度应该等于0

回答

FDResult = namedtuple('FDResult', ['DeviceID', 'PageNum'])
#bla = [FDResult(DeviceID='NR0951113', PageNum=[1,2,3,4]),
 #FDResult(DeviceID='NR0951114', PageNum=[17,28,63,64]),
 #FDResult(DeviceID='NR0951115', PageNum=[2,3,4,5])]
NodeList = []

Node = FDResult(DeviceID='NR0951113', PageNum=[1,2,3,4])
NodeList.append(Node)
print(len(NodeList))
NodeList[0].PageNum.append(16)

最佳答案

您可以像这样创建 namedtuple 数组。

from collections import namedtuple

MyStruct = namedtuple('MyStruct', 'Mark nPackLen nFlag nGisIp nPort sData sEnd')

NodeList = []
Node = MyStruct(None, '', '', '', '',  -1, 0)
for id in range(4):
     NodeList.append(Node)

关于python - 编辑 : how to declare array of struct in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14725253/

相关文章:

c - 为什么 strchr 比我的 simd 代码快两倍

c - 了解进程内存的 shmat 和附件?

JAVA:以 int "n"作为输入,并返回包含前 n 个素数的数组的方法

javascript - 如何查看一个数组是否与另一个数组相同以及为什么尝试查看它们是否 === 将第一个数组更改为第二个数组?

python - 在 Python ctypes 中使用自定义类型进行回调

python - 如何将整数添加到字符串中?

python - 在警告被抑制后控制警告的出现

c - c/c++ 中的 unsigned long/long/int 有什么区别?

python - for 循环内的 dataframe.replace()

javascript - 未定义传递给数组