Python 从值中获取键(其中值位于列表中)

Python 从值中获取键(其中值位于列表中),python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有这样的字典 my_dict={'0':['A','B','C'],'1':['D','E','F']} 如果值是列表,如何使用其中一个值访问密钥?您可以尝试以下方法: >>定义对应的密钥(val,字典): 对于dictionary.items()中的k,v: 如果val在v中: 返回k >>>相应的按键(“A”,我的指令) '0' >>>相应的按键(“B”,我的指令) '0' >>>相应的按键(“C”,我的指令) '0' >>>相应的按键(“D”,我的指令) '1' >>>相应的按键(“E

我有这样的字典

my_dict={'0':['A','B','C'],'1':['D','E','F']}
如果值是列表,如何使用其中一个值访问密钥?

您可以尝试以下方法:

>>定义对应的密钥(val,字典):
对于dictionary.items()中的k,v:
如果val在v中:
返回k
>>>相应的按键(“A”,我的指令)
'0'
>>>相应的按键(“B”,我的指令)
'0'
>>>相应的按键(“C”,我的指令)
'0'
>>>相应的按键(“D”,我的指令)
'1'
>>>相应的按键(“E”,我的指令)
'1'
>>>相应的按键(“F”,我的指令)
'1'
>>> 
但是,如果一个值位于多个字典值列表中,则可以修改该函数:

>>定义对应的_键(val,字典):
键=[]
对于dictionary.items()中的k,v:
如果val在v中:
键。追加(k)
返回键
或者,您可以使用列表理解:

>>val=“A”
>>>字典=我的字典
>>>[k代表k,v在dictionary.items()中,如果val在v中]
['0']

你应该在来这里之前先读一读。@baduker,这似乎没有回答我的问题,这应该也在你的阅读清单上,这回答了你的问题吗?哪一个性能最好?(只是好奇)@ConMan77我会给他们排名(从最好的表现到最差的表现):1,3,2。我可能错了,但我的逻辑是:数字1不必解析每个键值对,因为一旦找到匹配项,它就会立即返回;数字3使用列表理解,这通常比函数调用快,但必须迭代每一对;数字2结合了最差的1和3,其中它是一个函数调用,必须遍历每对,再加上列表变量
keys
所增加的内存。