zoukankan      html  css  js  c++  java
  • Python几种创建list的方法的效率对比

    我们用 生成一个0到((1万倍n)-1)的list做例子

    Python几种创建list的方法的效率对比

    首先这种方式复杂度为平方级

    '''

    def test1(n):

    lst = []

    for i in range(n*10000):

    lst = lst + [i]

    return lst

    '''

    Python几种创建list的方法的效率对比

    如n=5,平均运行花费3秒2;

    如果n=10的话,平均运行花费飙到14秒9;

    是因为复制一个长度为n的list,本身的复杂度就是线性级的了。

    ###############################################################

    接下来这几种,时间复杂度都是线性级的

    Python几种创建list的方法的效率对比

    ‘’‘

    def test2(n):

    lst = []

    for i in range(n*10000):

    lst.append(i)

    return lst

    def test3(n):

    return [i for i in range(n*10000)]

    def test4(n):

    return list(range(n*10000))

    ’‘’

    Python几种创建list的方法的效率对比我们来对比一下,到底哪个快

    Python几种创建list的方法的效率对比

    测试后可以发现,直接用系统list方法是最快的,然后是列表推导,用list类的append方法排后。

    头条号 PythonChan

  • 相关阅读:
    java 使用相对路径读取文件
    appium 使用过程问题踩坑-笔记
    CentOS下启动Tomcat
    jodis遇到的问题
    CentOS 7.0 防火墙
    sentinel
    keepalived
    在Tomat7上使用Redis保存Session
    Log4j 使用
    java路径问题
  • 原文地址:https://www.cnblogs.com/PythonChan/p/6213675.html
Copyright © 2011-2022 走看看