zoukankan      html  css  js  c++  java
  • TypeError: 'range' object does not support item assignment处理方法

    vectorsum.py
    #!/usr/bin/env/python
    import sys
    from datetime import datetime
    import numpy as np

    # def numpysum(n):
    # a = np.arange(n) ** 2
    # b = np.arange(n) ** 3
    # c = a + b
    # return c

    def pythonsum(n):
    a = range(n)
    b = range(n)
    c = []
    for i in range(len(a)):
    a[i] = i ** 2
    b[i] = i ** 3
    c.append(a[i] + b[i])
    return c

    size = int(sys.argv[1])
    print (size)

    start = datetime.now()
    c = pythonsum(size)
    delta = datetime.now() - start
    print ("The last 2 elements of the sum", c[-2:])
    print ("PythonSum elapsed time in microseconds", delta.microseconds)
    # start = datetime.now()
    # c = numpysum(size)
    # delta = datetime.now() - start
    # print ("The last 2 elements of the sum", c[-2:])
    # print ("NumPySum elapsed time in microseconds", delta.microseconds)
    ----------------------------------------------------------------------------
    运行结果:

    D:>python vectorsum.py 1000
    1000
    Traceback (most recent call last):
    File "vectorsum.py", line 26, in <module>
    c = pythonsum(size)
    File "vectorsum.py", line 17, in pythonsum
    a[i] = i ** 2
    TypeError: 'range' object does not support item assignment

    ----------------------------------------------------------------------------------------

    pythonsum函数修改如下
    def pythonsum(n):
    a = list(range(n))
    b = list(range(n))
    c = []
    for i in range(len(a)):
    a[i] = i ** 2
    b[i] = i ** 3
    c.append(a[i] + b[i])
    return c



    运行正常,通过
    -----------------------------------------------------------
     
     



  • 相关阅读:
    济南空中课堂视频下载辅助脚本
    npm 修改仓库源
    Java后端实现登陆的方式
    java 新词汇
    数据库系统,设计、实现与管理(基础篇)阅读笔记
    java 面试01
    js rem 适配多端
    了解Java
    linux 查看内存使用情况
    linux 日志查看
  • 原文地址:https://www.cnblogs.com/master-road/p/10646590.html
Copyright © 2011-2022 走看看