zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    内联函数和宏
    python面向对象高级:@property
    python面向对象高级:__slots__
    Python哈希表的例子:dict、set
    python数据结构之哈希表
    python数据结构之队列
    python数据结构之堆栈
    python数据结构之链表
    分治法及其python实现例子
    查找算法:二分法查找及其python实现案例
  • 原文地址:https://www.cnblogs.com/zhanghaoyang/p/10271949.html
Copyright © 2011-2022 走看看