gpt4 book ai didi

python - 类型错误 : 'generator' object is not callable

转载 作者:太空狗 更新时间:2023-10-29 17:17:22 24 4
gpt4 key购买 nike

我有一个这样定义的生成器:

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

我误会了什么?

最佳答案

你不需要调用你的生成器,删除 () 括号。

您可能对函数内的变量使用与生成器名称相同的名称这一事实感到困惑;以下内容也将起作用:

def somefun(lengen):
for length in lengen:
if not is_blahblah(length): return False

传递给 somefun 函数的参数然后被绑定(bind)到本地 lengen 变量而不是 lengths,以明确本地变量与您在别处定义的 lengths() 函数不同。

关于python - 类型错误 : 'generator' object is not callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com