在将“if..elif..else”语句转换为字典查找时,如何处理“else”子句?

2024-04-26 00:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

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

是否等效?你知道吗


Tags: sourcedataif字典valuenotval语句
2条回答

您可以使用dict.get方法:

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

如果val不是键,则返回"value not found",而不影响字典。你知道吗

如有疑问,请一如既往地使用以下帮助:

>>> help(dict)

我想你在寻找

val = 3
dct = {1:"a", 2:"b", 3:"c", 4:"d"}
if dct.get(val) == None: print "Value Not Found"

相关问题 更多 >