python - 循环遍历多个字典并获取其中值为的字典名称

标签 python

我想循环多个字典来查找其中的值。如果找到该值,我想要返回值和字典的名称。我已经编写了一个函数来执行此操作,但我无法仅提取完整的字典名称。这是代码:

a = {1: ((1,1),999), 2: ((2,2),998), 3:((3,3),998)}
b = {1: ((4,4),997), 5:((5,5),996)}

def retOBJECT(tup):
    for l in [a,b]:
        for v in l:
            if tup in l[v]:
                return l,v,l[v][1]

print retOBJECT((1,1))

>>> 
({1: ((1, 1), 999), 2: ((2, 2), 998), 3: ((3, 3), 998)}, 1, 999)

我不希望返回整个字典,而只返回它的名称,这样我就知道其他值来自哪里,即最后两个数字。

这就是我想要的样子:

>>> ('a', 1, 999)

任何人都可以帮忙吗?我总是在这里找到很好的建议,我期待着一些天才指出如何检索字典的名称。

最佳答案

def retOBJECT(tup):
    for l_name, l in [('a',a),('b',b)]:
        for v in l:
            if tup in l[v]:
                return l_name, v,l[v][1]

关于python - 循环遍历多个字典并获取其中值为的字典名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279469/

相关文章:

python - 如何在 Python 中更改 tkinter Canvas 上形状轮廓的粗细?

python - SqlAlchemy Postgres JSON 如何使用问号运算符进行过滤?

python - 有没有办法在Python中逐行写入hdf5文件?

javascript - 在 Python 中使用大整数模拟 JavaScript 加法错误

java - 从 Python 调用 Java

python - 如何使用 tensorflow 在推理阶段加载移动平均权重变量

python - 使用 Google API 获取用户电子邮件的最佳方式是什么?

python - 在 CMake 中使用 setup.py 构建一个 python 包

python - 通过比较两列来跟踪 Pandas 中的状态反转

python - 使用matplotlib在单个pdf页面上保存多个图