Pandas 字典:如何通过将输入值与分配给单个键的多个值相匹配来返回键

Pandas 字典:如何通过将输入值与分配给单个键的多个值相匹配来返回键,pandas,dictionary,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'] } 到目前为

我有一个字典,其中每个键都有多个值。我试图通过将输入值与某个键的值匹配来从字典中获取键

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\u dict.values()
不起作用,因为它一次返回该字典中的所有值

一定是这样的:

input_area = 'c'
x = [key for key in areas if input_area in areas[key]]

print(x)
结果如下:

['2']

谢谢你@Ralubrusto。现在可以了!