Skip to main content
 首页 » 编程设计

python之检查字典中是否存在值并获取键

2025年05月04日20davidwang456

我有一个字典的字典:

x = {'NIFTY': {11382018: 'NIFTY19SEPFUT', 13177346: 'NIFTY19OCTFUT', 12335874: 'NIFTY19NOVFUT'}} 

这本词典里面还有很多其他的词典。

我想检查是否示例:

y = 11382018 

存在于字典中,如果存在,则获取主key 在这种情况下NIFTY 和上述key 的值即'NIFTY19SEPFUT'

我可以按照我假设的以下方式做到这一点:

for key in x.keys(): 
    di = x[key] 
    if y in di.keys(): 
       inst = key 
       cont = di[y] 

只是想知道是否有更好的方法。

我在考虑不必遍历整个字典主 keys

请您参考如下方法:

检索两个感兴趣的值的更紧凑的方法是使用嵌套字典理解:

[(k, sv) for k,v in x.items() for sk,sv in v.items() if sk == y] 
# [('NIFTY', 'NIFTY19SEPFUT')]