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