【发布时间】:2019-11-19 20:21:19
【问题描述】:
我有这个我无法理解的代码 sn-p:
>>> l = lambda: -4, 'c', 0
>>> i = iter(l)
>>> i
<tuple_iterator object at 0x00700CD0>
>>> next(i)
<function <lambda> at 0x0070A4F8>
>>> next(i)
'c'
>>> next(i)
0
>>> next(i)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
为什么它在第一次迭代时返回 lambda 对象,而不是 -4?
【问题讨论】:
-
你应该使用
next(i)()。因为next(i)只返回 lambda 对象。 -
好的。但是对我在这里所面临的任何解释..?
标签: python python-3.x oop lambda