一段python代码的奇怪答案

时间:2018-07-06 02:58:33

标签: python

这是一段python代码。

f0, f1, f2 = [lambda x: x*i for i in range(3)]
print(f0(0), f1(1), f2(2))

输出在这里。

0, 2, 4

似乎这三个功能都像:

lambda x: x * 2

但是我最初认为这三个功能将是:

f0: lambda x: x*0
f1: lambda x: x*1
f2: lambda x: x*2

为什么结果与我最初的想法不同?谁能解释此结果的原因?

0 个答案:

没有答案