我有一个字典,其中每个键有多个值。我试图通过将输入值与某个键
的值相匹配来从字典中获取键areas={ '1':['a', 'b'],
'2':['c', 'd', 'e'],
'3':['f' 'g', 'h', 'i','j', 'k' ],
'4': ['l', 'm','n'],
'5': ['o' , 'o', 'q', 'r' 's' 't']
}
到目前为止,我已经尝试过了,但在这两种情况下,我得到一个空值(结果是[]),而不是'2'。
input_area='c'
x=[key for key in areas_dict if input_area in areas_dict.values()]
x
input_area='c'
x=[k for k, v in areas_dict.items() if input_area==v]
x
你差不多完成了。由于需要查看每个键的值,因此必须为列表推导式中的每个key
访问areas[key]
。使用areas_dict.values()
不起作用,因为它一次返回该字典中的所有值。
必须是这样的:
input_area = 'c'
x = [key for key in areas if input_area in areas[key]]
print(x)
输出如下:
['2']