use*_*565 3 python if-statement technical-debt
我试图将python中的"if else"语句转换为字典.
我试图将其转换为字典,但如何处理最后一个else子句?
val=3
if val==1:
print "a"
elif val==2:
print "b"
elif val==3:
print "c"
elif val==4:
print "d"
else:
print "value not found:"
print "===========Converted if else into dictionary ==================="
DATA_SOURCE = {1:"a",2:"b",3:"c",4:"d"}
print DATA_SOURCE[val]
Run Code Online (Sandbox Code Playgroud)
我已创建此代码作为替代:
if not DATA_SOURCE.has_key(val):
print "value not found:"
else:
print DATA_SOURCE[val]
Run Code Online (Sandbox Code Playgroud)
它是等同的吗?
您可以使用以下dict.get方法:
print DATA_SOURCE.get(val, "value not found")
Run Code Online (Sandbox Code Playgroud)
"value not found"如果val不是键,那将返回,而不影响字典.
与往常一样,如果有疑问,请使用帮助:
>>> help(dict)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |