【发布时间】:2019-07-03 16:15:07
【问题描述】:
我正在尝试在 python 中进行密钥查找。我有一个字典字典如果键存在,我正在查找值中的值并返回键。我希望有一组默认值,以防密钥不存在。
我可以写一个 if else 语句来检查键是否存在。如果键不存在,那么我可以使用默认值集。
这就是我的字典的样子:
lookup= {
"key1" : {
"TRUE" : ["1"],
"FALSE" : ["0"]
},
"key2": {
"TRUE" : ["d"]
},
"DEFAULT": {
"TRUE" : ["1","t","tr","true"],
"FALSE" : ["0","f","fl","fs","false"]
}
}
这是我尝试过的:
if __name__ == "__main__":
item="key1"
v='0'
if item in lookup:
for key, value in lookup[item].items():
if v.lower() in [x.lower() for x in value]:
v = key
print(v)
else:
for key, value in lookup["DEFAULT"].items():
if v.lower() in [x.lower() for x in value]:
v = key
print(v)
我想知道是否有更简单、更直观和更智能的方法来做到这一点。
【问题讨论】:
-
这篇 Stack Overflow 帖子可能会回答您的问题:stackoverflow.com/questions/9358983/…
-
为什么不使用 get() 或者除了 raise KeyError
标签: python python-3.x dictionary