私はこのように定義されたジェネレータを持っています:
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
私は何を誤解していますか?