如何理解这条语句

2016-04-14 22:16:01 +08:00
 maltoze
g = [lambda x: x*i for i in range(4)]
g[0](2)    # 6
g[1](2)    # 6
g[2](2)    # 6
g[3](2)    # 6

为什么执行结果都一样啊?

2944 次点击
所在节点    Python
3 条回复
SoloCompany
2016-04-14 22:25:07 +08:00
请搜索惰性求值
lll9p
2016-04-14 22:40:19 +08:00
yutiyi
2016-04-22 13:28:20 +08:00
这是一道经典面试题 https://segmentfault.com/a/1190000000618513 里面问题四

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/271144

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX