我有一个字典列表,其中每个字典都包含一个列表,这是一个示例:
[{ "1": [0,1,2,3]},{ "2": [4,5]},{ "3": [6,7,8,9,10,11]},{ "4": [12] }]
我正在努力构建一个将值作为输入并返回相应键的函数:
print(somefunc(12)) # Should print 4
print(somefunc(5)) # should print 2
我确定每个列表中的每个值都是唯一的,因此不必担心在不同列表中具有相同值的情况。
执行此操作的pythonic方式是什么,我试图通过对总和指定索引并检查其是否小于1来进行一些数学逻辑运算,但是没有成功。
答案 0 :(得分:2)
遍历列表,然后遍历字典项,然后检查值,如果找到该值,则返回键:
def somefunc(val):
l = [{ "1": [0,1,2,3]},{ "2": [4,5]},{ "3": [6,7,8,9,10,11]},{ "4": [12] }]
for dictionary in l:
for key, v_list in dictionary.items():
if val in v_list:
return key
答案 1 :(得分:0)
[list(item.keys())[0] for item in ls if val in list(item.values())[0]]