小编gts*_*gts的帖子

使用字典进行条件执行而不是if..elif

假设您有以下内容:

def case_A():
   print 'A'

def case_B():
   print 'B'

def case_generic():
   print 'some generic case'
Run Code Online (Sandbox Code Playgroud)

value定义并具有一定的价值

您是否看到任何您不希望应用以下模式的方案:

v = {"A":case_A, "B":case_B}
try:
   v[value]()
except:
   case_generic()
Run Code Online (Sandbox Code Playgroud)

而不是标准:

if value == "A":
   case_A()

elif value == "B":
   case_B()

...place n more if cases here...

else:
   case_generic()
Run Code Online (Sandbox Code Playgroud)

对我来说,第一种情况看起来更紧凑,易于管理,尽管内存略有增加.或者,您是否看到了改善上述方法或使用更好方法的方法?

python dictionary if-statement data-structures

3
推荐指数
1
解决办法
347
查看次数