加载测试集时报错TypeError: 'list' object is not callable

啊我真的太迷惑了,这是试图在advprop那个开源项目中使用CIFAR10的时候的报错,但是单纯用resnet18调用验证集就不会有这个问题,为啥啊

这是报错的代码,报错的完整内容就是问题描述里面的那样

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

参考:

在Python运行过程中遇到了如下错误:
TypeError: ‘list’ object is not callable

list = ['经点', '咸汤', '鱼儿', '骆驼']

tup_1 = (1, 2, 3, 4, 5)
tupToList = list(tup_1)

print(tupToList)
1
2
3
4
5
6
代码运行后出错了,提示是TypeError: ‘list’ object is not callable

Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    counterA()
TypeError: 'list' object is not callable
1
2
3
4
callable()是python的内置函数,用来检查对象是否可被调用,可被调用指的是对象能否使用()括号的方法调用,类似于iterable()
在如上代码中,由于变量list和函数list重名了,所以函数在使用list函数时,发现list是一个定义好的列表,而列表是不能被调用的,因此抛出一个类型错误

解决办法
我们只需修改变量名listx就可以了:

listx = ['经点', '咸汤', '鱼儿', '骆驼']

tup_1 = (1, 2, 3, 4, 5)
tupToList = list(tup_1)

print(tupToList)
1
2
3
4
5
6
运行后和结果是正常的:

[1, 2, 3, 4, 5]

因此,在命名变量时要注意,应避免和python的函数名、关键字冲突。

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632