python使用列表的最佳方案

 更新时间:2020年08月12日 15:30:18   作者:TalkPython  
这篇文章主要介绍了python使用列表的最佳方式,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下

经常写Python程序的人,列表应该是使用率最高数据结构的了。我们使用列表的过程中,生成列表方式有很多种,哪一种方式性能是最好的呢?可能很多人都没有关心过这个问题。假设要生成一个有1000个元素的列表。采用下面哪一种方式生成最好呢?

1、连接方式

def gen_list1():  
  l = []  
  for i in range(1000):    
    l = l + [i]

2、append方法

def gen_list2():  
  l = []  
  for i in range(1000):    
    l.append(i)

3、列表表达式

def gen_list3():  
  l = [i for i in range(1000)]

4、range函数

def gen_list4():  
  l = list(range(1000))

以上四种方式,都可以实现一个有1000个元素的列表。为了知道哪一种方式耗时最少,我们需要进行测试才可以知晓。测试耗时我们使用Timer方法,下面编写具体测试代码。

from timeit import Timer

t1 = Timer("gen_list1()", "from __main__ import gen_list1")
print("连接方式:", t1.timeit(number=1000), "ms")

t2 = Timer("gen_list2()", "from __main__ import gen_list2")
print("append方法:", t2.timeit(number=1000), "ms")

t3 = Timer("gen_list3()", "from __main__ import gen_list3")
print("列表表达式:", t3.timeit(number=1000), "ms")

t4 = Timer("gen_list4()", "from __main__ import gen_list4")
print("range函数:", t4.timeit(number=1000), "ms")

测试程序编写完成后,可以运行看看结果。

连接方式:  1.2728083460242487 ms
append方法: 0.10177052899962291 ms
列表表达式: 0.03995161800412461 ms
range函数: 0.01611424400471151 ms

通过测试我们可以看出来,使用range函数生成1000个元素列表,耗时是最少的。要想写出高性能Python程序,掌握分析程序性能的方法和熟悉每一种数据结构都是非常重要的技能。

以上就是python使用列表的最佳方案的详细内容,更多关于python列表的资料请关注脚本之家其它相关文章!

相关文章

  • Python使用Colorama库美化终端输出的操作示例

    Python使用Colorama库美化终端输出的操作示例

    在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而 Colorama 是一个简单易用的 Python 库,可以帮助我们轻松地为终端输出添加颜色,本文给大家介绍了Python使用Colorama库美化终端输出的操作示例,需要的朋友可以参考下
    2025-01-01
  • Python调用C/C++动态链接库的方法详解

    Python调用C/C++动态链接库的方法详解

    这篇文章主要介绍了Python调用C/C++动态链接库的方法,需要的朋友可以参考下
    2014-07-07
  • Python解决N阶台阶走法问题的方法分析

    Python解决N阶台阶走法问题的方法分析

    这篇文章主要介绍了Python解决N阶台阶走法问题的方法,简单描述了走台阶问题,并结合实例形式分析了Python使用递归与递推算法解决走台阶问题的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 详解如何通过Python制作一个密码生成器

    详解如何通过Python制作一个密码生成器

    定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。所以本文就来用Python制作一个密码生成器吧
    2023-05-05
  • 利用python绘制中国地图(含省界、河流等)

    利用python绘制中国地图(含省界、河流等)

    这篇文章主要介绍了利用python绘制中国地图,帮助大家更好的理解和使用python绘制图形,感兴趣的朋友可以了解下
    2020-09-09
  • Python使用VIF实现检测多重共线性

    Python使用VIF实现检测多重共线性

    多重共线性是指多元回归模型中有两个或两个以上的自变量,它们之间具有高度的相关性,本文主要介绍了如何使用VIF实现检测多重共线性,需要的可以参考下
    2023-12-12
  • 动态创建类实例代码

    动态创建类实例代码

    Python中要创建一个类的实例,要首先导入该类或者该类所属的模块。
    2009-10-10
  • django使用JWT保存用户登录信息

    django使用JWT保存用户登录信息

    这篇文章主要介绍了Django使用jwt获取用户信息的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • pandas DataFrame运算的实现

    pandas DataFrame运算的实现

    这篇文章主要介绍了pandas DataFrame运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Python列表append和+的区别浅析

    Python列表append和+的区别浅析

    这篇文章主要介绍了Python列表append和+的区别浅析,本文得出一的结论是使用append实际是修改一个列表,使用+实际是创建一个新的列表,需要的朋友可以参考下
    2015-02-02

最新评论