Python数组:按元素值获取索引

2024-05-29 06:00:43 发布

您现在位置:Python中文网/ 问答频道 /正文

A有这样一个数组

{  
    "records":[  
        {  
            "domain":"example.com",
            "fqdn":"111",
        },
        {  
            "domain":"example.com",
            "fqdn":"2222",
        },
        {  
            "domain":"example.com",
            "fqdn":"333",
        },
    ],
}

如何获取fqdn==“333”的元素的索引?在


Tags: com元素exampledomain数组recordsfqdn
3条回答

好像你想要这样的东西

>>> d = {  
    "records":[  
        {  
            "domain":"example.com",
            "fqdn":"111",
        },
        {  
            "domain":"example.com",
            "fqdn":"2222",
        },
        {  
            "domain":"example.com",
            "fqdn":"333",
        },
    ],
}
>>> for i in d.values():
        for s,m in enumerate(i):
            if m['fqdn'] == "333":
                print(s)


2
li = list(di['records'])
for x in li:
    for k, v in x.items():
        if v == '333':
            print k, v

您可以将列表理解与enumerate结合使用:

[x for x, y in enumerate(data['records']) if y['fqdn'] == '333'][0]

但是,对于不存在的情况,您必须捕获IndexError。在

正如注释中所建议的,通过使用生成器和next,可以避免重复目标值的冗余查找和捕获{}:

^{pr2}$

相关问题 更多 >

    热门问题