Python 3.x 带有if语句和包含函数的字典的For循环
我有以下代码:Python 3.x 带有if语句和包含函数的字典的For循环,python-3.x,dictionary,for-loop,Python 3.x,Dictionary,For Loop,我有以下代码: 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] 你能解释一下为什么函数1只运行一次吗?不是两次,因为数据与data1
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]
你能解释一下为什么函数1只运行一次吗?不是两次,因为数据与data1和data3都匹配?事实上,你的代码只执行函数1和2一次,因为你在字典里调用它们。要初始化函数dictionary
def function1():
# code to execute
def function2():
# code to execute
dict = {"fun1":function1,"fun2":function2}
现在,函数的词汇表已正确初始化。如果要使用dictionnary调用函数,必须使用functiondict.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)()