我有一个脚本,需要遍历数千个不同但简单的选项。
我可以使用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
我要做的事情通常是运行某种功能。
答案 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 (字典映射)