我有这段代码:
dict = {"fun1":function1(),"fun2":function2()}
data1 = "fun1"
data2 = "fun3"
data3 = "fun1"
for data in dict:
if data1 == data:
dict[data]
if data2 == data:
dict[data]
if data3 == data:
dict[data]
你可以解释为什么function1只运行一次而不是两次,因为数据与data1和data3都匹配?
答案 0 :(得分:0)
实际上,您的代码一次执行函数1和2,因为您在dictionnary中调用它们。要初始化函数词典,
def function1():
# code to execute
def function2():
# code to execute
dict = {"fun1":function1,"fun2":function2}
现在您的函数的字典已正确初始化。如果你想用dictionnary调用一个函数,你必须使用函数dict.get(key)
,其中key是你想要使用的函数的键名。
示例:
data1 = "fun1"
data2 = "fun3"
data3 = "fun1"
for data in dict.keys():
if data1 == data:
dict.get(data)()
if data2 == data:
dict.get(data)()
if data3 == data:
dict.get(data)()