python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
发现问题
写python的时候出现了这个错,然后网上的教程的解决方案几乎都是——“重新定义下这个变量”,看的我一脸懵逼
后来发现原来是我把returnNone的方法赋给了变量,之后操作变量导致的,直接上代码
foriinrange(2000): read_lines=random.shuffle(read_lines)#问题出在这里了 print(read_lines)
咋一看是没啥问题,但是一运行就报错
>>TypeError:'NoneType'objectisnotsubscriptable
后来发现原来random.shuffle这个函数他是returnNone的,但是我把他赋值给了read_lines,导致后续在操作read_lines的时候一直都是这个报错,包括打印read_lines也报错
这个是random库里面的代码(看他的注释里面说的是returnNone)
defshuffle(self,x,random=None): """ Shufflelistxinplace,andreturnNone. Optionalargumentrandomisa0-argumentfunctionreturninga randomfloatin[0.0,1.0);ifitisthedefaultNone,the standardrandom.randomwillbeused. """ ifrandomisNone: randbelow=self._randbelow foriinreversed(range(1,len(x))): #pickanelementinx[:i+1]withwhichtoexchangex[i] j=randbelow(i+1) x[i],x[j]=x[j],x[i] else: _int=int foriinreversed(range(1,len(x))): #pickanelementinx[:i+1]withwhichtoexchangex[i] j=_int(random()*(i+1)) x[i],x[j]=x[j],x[i]
解决方案
把上面一行赋值语句改掉就好了
foriinrange(2000): random.shuffle(read_lines) print(read_lines) content_list=[]
总结
到此这篇关于python报错TypeError:‘NoneType‘objectisnotsubscriptable解决方法的文章就介绍到这了,更多相关python报错TypeError解决内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。