Python按值搜索
问题内容:
我需要一个适当的解决方案来在Python的嵌套数据结构中搜索键。让我们假设我的变量值为’check’和dict,如下所示:
SERVICES = {
'domain': ['check','whois','register'],
'user': ['create','show','delete'],
'invoice': ['toPdf','print']
}
检查“ array”键是“ check”值并返回“ domain”的最佳方法是什么?
问题答案:
标准方法:
for k, v in SERVICES.items(): # or iteritems in Python 2
if 'check' in v:
print(k) # 'domain'
break
如果您希望有多个匹配条件的键,只需删除即可break
。
功能方法:
>>> next(filter(lambda x: 'check' in SERVICES[x], SERVICES))
'domain'