我想创建一个函数列表,由固定基础函数创建的函数对象组成,但输入参数不同。我已经编写了以下代码:
def f_base(name):
print "I am %s" % name
f_list = []
for name in ['A', 'B']:
f_list.append(
lambda : f_base(name)
)
f_list[0]()
f_list[1]()
结果是:
I am B
I am B
但我想获得:
I am A
I am B
有人能解释一下为什么Python会产生这样的输出,以及获取我需要的结果的最简单方法是什么吗?