2024-05-29 06:00:43 发布
网友
A有这样一个数组
{ "records":[ { "domain":"example.com", "fqdn":"111", }, { "domain":"example.com", "fqdn":"2222", }, { "domain":"example.com", "fqdn":"333", }, ], }
如何获取fqdn==“333”的元素的索引?在
好像你想要这样的东西
>>> 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结合使用:
enumerate
[x for x, y in enumerate(data['records']) if y['fqdn'] == '333'][0]
但是,对于不存在的情况,您必须捕获IndexError。在
IndexError
正如注释中所建议的,通过使用生成器和next,可以避免重复目标值的冗余查找和捕获{}:
next
好像你想要这样的东西
您可以将列表理解与
enumerate
结合使用:但是,对于不存在的情况,您必须捕获
IndexError
。在正如注释中所建议的,通过使用生成器和}:
^{pr2}$next
,可以避免重复目标值的冗余查找和捕获{相关问题 更多 >
编程相关推荐