我正在尝试在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)
我想知道是否有更简单,直观和更智能的方法。
答案 0 :(得分:1)
作为部分简化,您可以执行以下操作:
if __name__ == "__main__":
item="key1"
v='0'
lookup_result = lookup.get(item, lookup["DEFAULT"])
for key, value in lookup_result.items():
if v.lower() in [x.lower() for x in value]:
v = key
print(v)
有什么方法可以重组输入数据?需要深入两个层次并检查列表并不是最佳选择。