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

标签 python dictionary

我有一本字典的字典:

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]

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

我的想法是不必循环整个字典主

最佳答案

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

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

关于python - 检查字典字典中是否存在值并获取键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57737157/

相关文章:

python - 在 pandas DataFrame 中删除列级别的方法链接解决方案

python - 使用元组创建元组组

python - 将unicode字符串字典转换为python中的字典

c# - 带有任意元组的字典作为键(没有包装在一个类中)

java - 当我打印 map 数据时,为什么我总是按排序顺序排列?

c++ - 为什么我不能用一对作为键来编译 unordered_map?

Python hash() 无法处理长整数?

python - SPSS 中如何确定数字和字符串变量?

python - 在 PySolr 中验证连接

python / Pandas : bug in formula evaluation in map/lambda?