Я генератор определяется следующим образом:TypeError: 'генератор' объект не вызываемая
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
Что я недоразумение ?
Этот простой huh ... :-D –
@AmigableClarkKant, в чем была логика поставить туда круглые скобки? – unkulunkulu
@unkulunkulu: возможно, путаница с именем функции, которое создает генератор. –