为了账号安全,请及时绑定邮箱和手机立即绑定

关于list is not callable

def count():

    fs = []

    for i in range(1,4):

        def f(m = i):

            return m ** 2

        fs.append(f)

    return fs

print count()()

这个程序运行为什么会显示

TypeError: 'list' object is not callable

难道是list不可以打印吗?

那为什么L=[1,2,3]

print L,打印出来的是[1,2,3]

正在回答

1 回答

print count()到这一步的返回的结果是一个包含4个函数的数组,数组是不能直接加()运行的。如果按你代码的意思,应该是要分别执行这四个函数,然后打印当时保存的i值平方(闭包)。。。你应该依个读取函数运行。比如:

for i in range(0,len(count())):

    print count()[i]()


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255532    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

关于list is not callable

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号