python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法


Posted in Python onNovember 05, 2020

发现问题

写python的时候出现了这个错,然后网上的教程的解决方案几乎都是——“重新定义下这个变量”,看的我一脸懵逼

后来发现原来是我把return None的方法赋给了变量,之后操作变量导致的,直接上代码

for i in range(2000):
    read_lines = random.shuffle(read_lines) # 问题出在这里了
    print(read_lines)

咋一看是没啥问题,但是一运行就报错

>>TypeError: 'NoneType' object is not subscriptable

后来发现原来 random.shuffle这个函数他是return None的,但是我把他赋值给了read_lines,导致后续在操作read_lines的时候一直都是这个报错,包括打印read_lines也报错

这个是random库里面的代码(看他的注释里面说的是return None)

def shuffle(self, x, random=None):
    """
    Shuffle list x in place, and return None.

    Optional argument random is a 0-argument function returning a
    random float in [0.0, 1.0); if it is the default None, the
    standard random.random will be used.

    """

    if random is None:
      randbelow = self._randbelow
      for i in reversed(range(1, len(x))):
        # pick an element in x[:i+1] with which to exchange x[i]
        j = randbelow(i+1)
        x[i], x[j] = x[j], x[i]
    else:
      _int = int
      for i in reversed(range(1, len(x))):
        # pick an element in x[:i+1] with which to exchange x[i]
        j = _int(random() * (i+1))
        x[i], x[j] = x[j], x[i]

解决方案

把上面一行赋值语句改掉就好了

for i in range(2000):
    random.shuffle(read_lines)
    print(read_lines)
    content_list = []

总结

到此这篇关于python报错TypeError: ‘NoneType‘ object is not subscriptable解决方法的文章就介绍到这了,更多相关python报错TypeError解决内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
在Python的setuptools框架下生成egg的教程
Apr 13 Python
详解在Python中处理异常的教程
May 24 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
Python Selenium异常处理的实例分析
Feb 28 Python
Flask搭建一个API服务器的步骤
May 28 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 #Python
详解Django中异步任务之django-celery
Nov 05 #Python
Python Django路径配置实现过程解析
Nov 05 #Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 #Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 #Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 #Python
Python word文本自动化操作实现方法解析
Nov 05 #Python
You might like
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
2014社区三八妇女节活动总结
2014/03/01 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
公司处罚决定书
2015/06/24 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js