Python多种Elif选项

时间:2018-09-12 10:37:22

标签: python

我有一个脚本,需要遍历数千个不同但简单的选项。

我可以使用if ... elif来遍历它们,但是我想知道是否有比成千上万的elifs更快/更好的选择。例如

if something == 'a':
    do_something_a
elif something == 'b':
    do_something_b
elif something == 'c':
    do_something_c
elif something == 'd':
    do_something_d
...
A thousand more elifs
...
else:
    do_something_else

我要做的事情通常是运行某种功能。

3 个答案:

答案 0 :(得分:3)

您可以使用字典来控制可能的逻辑路径:

def follow_process_a():
   print('following a')

def follow_process_b():
   print('following b')

keyword_function_mapper = 
{'a' : follow_process_a ,
 'b' : follow_process_b,                     
}

current_keyword = 'a'
run_method = keyword_function_mapper[current_keyword]
run_method()

答案 1 :(得分:1)

您可以通过以下方式为此使用字典:

def do_something_a():
    print 1

def do_something_b():
    print 2

dict = {'a': do_something_a, 'b': do_something_b};
dict.get(something)();

答案 2 :(得分:0)

我建议创建一个字典,将内容映射到各自的功能。然后您可以将此字典应用于数据。

更多信息:https://jaxenter.com/implement-switch-case-statement-python-138315.html (字典映射)