Pandas Dictionary:如何通过将一个输入值与分配给一个键的多个值相匹配来返回一个键 &



我有一个字典,其中每个键有多个值。我试图通过将输入值与某个键

的值相匹配来从字典中获取键
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']

最新更新