我需要编写一个正在执行以下工作的函数
在字典字典中查找字符串作为值并返回其键(如果在主字典中找到第一个键,如果在子字典中找到第二个键)。
源代码
这是我尝试实现的功能,但它工作不正确,因为我找不到如何将列表转换为字典的任何答案,因为在这种情况下会发生以下错误
for v, k in l: ValueError: need more than 1 value to unpack
def GetKeyFromDictByValue(self, dictionary, value_to_find):
""""""
key_list = [k for (k, v) in dictionary.items() if v == value_to_find]
if key_list.__len__() is not 0:
return key_list[0]
else:
l = [s for s in dictionary.values() if ":" in str(s)]
d = defaultdict(list)
for v, k in l:
d[k].append(v)
print d
dict = {'a': {'a1': 'a2'}, "aa": "aa1", 'aaa': {'aaa1': 'aaa2'}}
print GetKeyFromDictByValue(dict, "a2")
我必须在 Python 2.5 上执行此操作