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数组索引?如何获取?

最佳答案

我想您可能想要:

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


如果您实际上想要获取索引,则可能应该使用next内置函数:

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


如果在您的任何对象上均未找到DeviceID,则会显示StopIteration。您可以通过将第二个值传递给StopIteration来防止next,如果传入的可迭代项为空,则返回该值:

index = next((i for i,x in enumerate(PageNumList) if x.DeviceID == 'NR085113'),None)
if index is not None:
    ...

09-06 14:33