1

全部编辑

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 中声明结构数组?
FDResult数组和里面的空白数据,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)
4

2 回答 2

0

如果长度bla应该为零,只需创建一个空列表:

bla = []

Python 列表可以包含任何类型的对象。如果bla只应该保存FDResult实例,那么作为程序员,您有责任不要在那里放任何其他东西。

于 2013-02-06T09:37:03.610 回答
0

您可以像这样创建 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)
于 2013-02-06T09:31:33.093 回答