python3中报错:TypeError: 'range' object doesn't support item deletion
1、源代码
以下代码执行时会报 range' object does not support item assignment 的错误,问题出现在第17行的runge(10);
- import unittest
- import random
- class TestSequenceFunctions(unittest.TestCase):
- def setUp(self):
- #初始化一个递增序列
- self.seq = range(10)
- def runTest(self):
- #从序列seq中随机选取一个元素
- element = random.choice(self.seq)
- #验证随机元素确实属于列表中
- # self.assertTrue(element in self.seq)
- class TestDictValueFormatFunchions(unittest.TestCase):
- def setUp(self):
- self.seq = range(10)#这里是出错的地方
- def test_shuffle(self):
- #随机打乱原seq的顺序
- random.shuffle(self.seq)
- self.seq.sort()
- self.assertEqual(self.seq,range(10))
- #验证执行函数是跑出了TypeError异常
- self.assertEqual(TypeError,random.shuffle,(1,2,3))
- if __name__ == "__main__":
- unittest.main()
2、修改后的代码
在17行的基础上添加list(range(10))就ok了。
错误原因:是python3中range不返回数组对象,而是返回range对象
- import unittest
- import random
- class TestSequenceFunctions(unittest.TestCase):
- def setUp(self):
- #初始化一个递增序列
- self.seq = range(10)
- def runTest(self):
- #从序列seq中随机选取一个元素
- element = random.choice(self.seq)
- #验证随机元素确实属于列表中
- # self.assertTrue(element in self.seq)
- class TestDictValueFormatFunchions(unittest.TestCase):
- def setUp(self):
- self.seq = list(range(10))#这里是修改过的地方
- def test_shuffle(self):
- #随机打乱原seq的顺序
- random.shuffle(self.seq)
- self.seq.sort()
- self.assertEqual(self.seq,range(10))
- #验证执行函数是跑出了TypeError异常
- self.assertEqual(TypeError,random.shuffle,(1,2,3))
- if __name__ == "__main__":
- unittest.main()
python3中报错:TypeError: 'range' object doesn't support item deletion的更多相关文章
- TypeError: 'range' object doesn't support item deletion
python 是个逐步迭代开发的过程,他不是向下兼容的,更不是向上兼容,版本不一致,好端端的程序就是不能运行了. 下面是在python 2中能运行,在Python 3中不能运行的代码.其实也很简单.但 ...
- python 报错TypeError: 'range' object does not support item assignment,解决方法
贴问题 nums = range(5)#range is a built-in function that creates a list of integers print(nums)#prints ...
- Python:TypeError: 'range' object doesn't support item deletion
报错代码: dataIndex = range(m) del (dataIndex[randIndex]) 报错信息: 错误原因: python3 range返回的是range对象,不是数组对象 解决 ...
- TypeError: 'range' object does not support item assignment处理方法
vectorsum.py#!/usr/bin/env/pythonimport sysfrom datetime import datetimeimport numpy as np # def num ...
- TypeError: 'range' object does not support item assignment
TypeError: 'range' object does not support item assignment I was looking at some python 2.x code and ...
- Python的字符串修改报错:TypeError: 'str' object does not support item assignment
Python中想修改字符串的最后一个字符,使用name[-1] = 'e'来实现,运行后报错. 报错内容是:TypeError: 'str' object does not support item ...
- TypeError: 'str' object does not support item assignment Python常见错误
1.string是一种不可变的数据类型 2.尝试使用 range()创建整数列 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式. 需要记住 range() 返回的 ...
- python TypeError: 'str' object does not support item assignment”
想替换string里的空格,遍历替换提示如题错误,查询得知string类型不可更改 import string s = "2013/2/12" b = s.replace('/', ...
- appium 提示报错“TypeError: 'unicode' object is not callable”的解决方式!
这里提到的这个报错,是小错误且容易经常会犯,有时需要特别注意使用. 目的要求结果:根据某个元素的id值获取到对应id的text值,并且将获取的text值与本身存在的text值做比较,查看text值是否 ...
随机推荐
- [INet] I/O模型:同步阻塞,同步非阻塞,异步非阻塞
POSIX 把这同步.异步两个术语定义 如下: 同步 I/O 操作( synchronous I/O opetation) 导致请求进程阻塞, 直到 I/O 操作完成: 异步 I/O 操作( asyn ...
- 1804.03235-Large scale distributed neural network training through online distillation.md
现有分布式模型训练的模式 分布式SGD 并行SGD: 大规模训练中,一次的最长时间取决于最慢的机器 异步SGD: 不同步的数据,有可能导致权重更新向着未知方向 并行多模型 :多个集群训练不同的模型,再 ...
- Hibernate Search集与lucene分词查询
lucene分词查询参考信息:https://blog.csdn.net/dm_vincent/article/details/40707857
- vue之表单输入绑定
- vue项目锚点的使用
在vue项目中如何使用锚点呢? 在vue-router中定义 scrollBehavior scrollBehavior (to, from, savedPosition) { if (savedPo ...
- BackgroundWorker 组件
代码: static void Main(string[] args) { BackgroundWorker bw = new BackgroundWorker(); bw.WorkerReports ...
- # 2018-2019-20175302实验一《Java开发环境的熟悉》实验报告
2018-2019-20175302实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java ...
- 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)
20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...
- UILabel设置富文本后不显示省略号
先描述一下问题,项目中用到了UILabel去显示一段富文本文字,超过label显示区域部分,省略号处理. 但是当设置好 attributedText 给label之后,显示出的效果是文字被切割了,并没 ...
- odoo 配置文件
[options] ; addons模块的查找路径 addons_path = E:\GreenOdoo8.0\source\openerp\addons ; 管理员主控密码(用于创建.还原和备份数据 ...