3

我正在尝试将 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]

我创建了这个代码作为替代:

if not DATA_SOURCE.has_key(val):
  print "value not found:"
else:
  print DATA_SOURCE[val]

是否等效?

4

2 回答 2

8

您可以使用以下dict.get方法:

print DATA_SOURCE.get(val, "value not found")

"value not found"如果val不是键,它将返回,而不会影响字典。

与往常一样,如果有疑问,请使用帮助:

>>> help(dict)
于 2015-09-03T05:53:51.817 回答
0

我想你正在寻找;

val = 3
dct = {1:"a", 2:"b", 3:"c", 4:"d"}
if dct.get(val) == None: print "Value Not Found"
于 2015-09-03T06:05:29.490 回答