我正在运行Python 3.4.2,我对代码的行为感到困惑.我正在尝试创建一个可调用多项式函数列表,其程度越来越高:
bases = [lambda x: x**i for i in range(3)]
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,它做到了这一点:
print([b(5) for b in bases])
# [25, 25, 25]
Run Code Online (Sandbox Code Playgroud)
为什么bases看起来似乎是列表理解中最后一个lambda表达式的列表,重复?