我有一个像这样定义的生成器:
def lengths(x):
for k, v in x.items():
yield v['time_length']
它起作用,称之为
for i in lengths(x):
print i
生产:
3600
1200
3600
300
这是正确的数字。
但是,当我这样称呼时:
somefun(lengths(x))
哪里 somefun()
定义为:
def somefun(lengths):
for length in lengths(): # <--- ERROR HERE
if not is_blahblah(length): return False
我收到此错误消息:
TypeError: 'generator' object is not callable
我有什么误会?