python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
作者:web_h 发布时间:2023-01-11 08:11:07
标签:python,typeerror,报错
发现问题
写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 = []
来源:https://blog.csdn.net/weixin_43426254/article/details/109469612


猜你喜欢
- 前言MySQL Innodb 的锁可以说是执行引擎的并发基础了,有了锁才能保证数据的一致性。众所周知,我们都知道 Innodb 有全局锁、表
- exec sp_configure 'show advanced options',1 reconfigure exec s
- 前言Python 一直以来被大家所诟病的一点就是执行速度慢,但不可否认的是 Python 依然是我们学习和工作中的一大利器。因此,我们对 P
- 1、创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索
- 任务1、循环输出26个字母对应的ASCII码值x=97#代表的是a的ASCII值for _ in range(1,27): &n
- 折纸是日本著名的折叠纸张的艺术。折纸艺术只是使用一些不同的折叠方式,却能被用各种各样的方式组合成错综复杂的设计。而受折纸启发的logo设计则
- 1、安装pip install djangorestframework2、创建项目及应用创建项目创建应用目录结构如图3、设置settings
- 在安装SQL Server 2000 ,安装进程自动地为“BUILTIN\Administrators&rdqu
- 装tensorflow-gpu的时候经常遇到问题,自己装过几次,经常遇到相同或者类似的问题,所以打算记录一下,也希望对其他人有所帮助基本信息
- 知识点: Array方法: sort:降序 reverse:反序 效果: 代码: <style> *{ margin
- 本文实例讲述了golang使用sort接口实现排序的方法。分享给大家供大家参考,具体如下:今天看见群里再讨论排序的sort.Interfac
- 本文实例讲述了Python实现按中文排序的方法。分享给大家供大家参考,具体如下:安装中文库sudo apt-get updatesudo a
- 一、跨域是什么从一个域名去请求另一个域名,这个过程称之为跨域。浏览器从一个域名的网页去请求另一个域名的资源,域名、端口、协议有一个不一样,请
- 1-错误详情cmd下运行net start mysql启动MySQL服务:提示发生系统错误5。拒绝访问。cmd管理员模式运行可以启动MySQ
- 我遇到过这种情况 就是在我的data中 会有数据调用data中的其他数据如图 我的alertInfoType需要拿到screeningCon
- 本文实例为大家分享了js实现简单放大镜效果的具体代码,供大家参考,具体内容如下效果效果,鼠标在原图片移动,黄色小盒子跟随鼠标移动,黄色小盒子
- 说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天! 错误时在执行SQL语句的时候发出的,信息如下: Java代码
- 矩形选区概述矩形选区是一种常见的对象选择方式,这个名词最常见于Photoshop中,用于在一个子图选择鼠标拖动的矩形区域中的元素,在matp
- import time, randomclass GuessNum: def __init__(self
- 今天调试某页面样式,发现chrome下出现问题,但是同样基于webkit引擎的safari没有问题,很是郁闷。于是寻找针对google ch