Python报错:int() argument must be a string, a bytes-like object or a number, not 'list'

柔情只为你懂 2021-06-11 15:13 1471阅读 0赞

报错信息

学习《机器学习实战》这本书时,按照书上的代码运行,产生了错误,但是在代码中没有错误提示,产生错误的代码如下:

  1. sortedClassCount = sorted(classCount.iteritems(),key = operator.itemgetter(1), reverse = True) #排序

报错如下:

20190203224714389.png

错误原因

首先我们先看一下报错:

TypeError: int() argument must be a string, a bytes-like object or a number, not ‘list’

翻译过来是:

类型错误:int()参数必须是字符串、对象或数字之类的字节,而不是“list”

报错位置为:

  1. classNumberStr = int(fileStr.split('_'))[0]

通过对源代码的分析,原因是参数传错了。

根本原因在于:上面这一条代码有问题 ,导致参数传输错误。

解决方案

将代码改为如下:

  1. classNumberStr = int(fileStr.split('_')[0])

然后运行就可以啦!

给大家的忠告:一定要细心,一定要细心,特别是Python,没有C++那么规范,缩进都要认真

发表评论

表情:
评论列表 (有 0 条评论,1471人围观)

还没有评论,来说两句吧...

相关阅读