0
StructPageNum = namedtuple('FDResult', ['DeviceID', 'PageNum'])
PageNumList = []
Node = StructPageNum(DeviceID='NR0951113', PageNum=[1,2,3,4])
PageNumList.append(Node)
Node = StructPageNum(DeviceID='NR0951114', PageNum=[1,2,3,4])
PageNumList.append(Node)

print('NR0951113' in PageNumList[:].DeviceID)  

1)如何在PageNumList中搜索NR0951113?

已编辑

2)如果我想获得 NR0951113 数组索引?如何获得它?

4

1 回答 1

1

我想你可能想要:

any(x.DeviceID == 'NR0851113' for x in PageNumList)

如果您真的想获取索引,那么可能next是您应该使用的内置函数:

next(i for i,x in enumerate(PageNumList) if x.DeviceID == 'NR085113')

StopIteration如果在您的任何对象上都找不到 DeviceID,则会引发此问题。如果传入的可迭代对象为空,则可以StopIteration通过传递返回的第二个值来防止:next

index = next((i for i,x in enumerate(PageNumList) if x.DeviceID == 'NR085113'),None)
if index is not None:
    ...
于 2013-02-06T13:26:49.663 回答