这个问题是在写接口自动化程序的过程中,有个场景希望能通过字典的value获取对应的key,在网上找到了解决方案,这里自己加一些注解放出来,希望能让大家明白是如何实现的。
网友的原代码形式如下
def getDictKey_1(myDict, value):
return [k for k, v in myDict.items() if v == value]
代码特别简洁,返回一个列表,但是可能有些同学不太明白如何实现的,下面对该代码进行一个变装:
def getDictKey_2(myDict, value):
keyList = []
for k, v in myDict.items():
if v == value:
keyList.append(k)
return keyList
上面这两个代码的效果是一样的,测试结果如下
d = {
'中国':'北京', '首都':'北京', '河南':'郑州', '余额': 0.01}
print("getDictKey_1(d, '北京')=", getDictKey_1(d, '北京'))