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 实现视频流下载保存MP4的方法

    python 实现视频流下载保存MP4的方法

    今天小编就为大家分享一篇python 实现视频流下载保存MP4的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 一文教你利用Python制作一个生日提醒

    一文教你利用Python制作一个生日提醒

    在国内,大部分人都是过农历生日,然后借助日历工具获取农历日期对应的阳历日期,以这一天来过生!这里还有一个痛点,即:每一年的农历生日对应的阳历日期都不一样,本篇文章将教你利用 Python 制作一个简单的生日提醒,需要的可以参考一下
    2022-12-12
  • Python中如何实现真正的按位取反运算

    Python中如何实现真正的按位取反运算

    按位取反是位运算符,而位运算符是应用在两个数的运算上,会对数字的二进制所有位数进行从低到高的运算,下面这篇文章主要给大家介绍了关于Python中如何实现真正的按位取反运算的相关资料,需要的朋友可以参考下
    2023-02-02
  • OpenCV+Python--RGB转HSI的实现

    OpenCV+Python--RGB转HSI的实现

    今天小编就为大家分享一篇OpenCV+Python--RGB转HSI的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python函数中不定长参数的写法

    Python函数中不定长参数的写法

    今天小编就为大家分享一篇关于Python函数中不定长参数的写法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python绘制趋势线的示例代码

    Python绘制趋势线的示例代码

    趋势线是用来显示数据趋势或者预测未来发展方向的一种图形表示方法,这篇文章主要为大家详细介绍了如何使用Python绘制趋势线,需要的可以了解下
    2024-03-03
  • Python+DeOldify实现老照片上色功能

    Python+DeOldify实现老照片上色功能

    DeOldify是一种技术,以彩色和恢复旧的黑白图像,甚至电影片段。它是由一个叫Jason Antic的人开发和更新的。本文将利用DeOldify实现老照片上色功能,感兴趣的可以了解一下
    2022-06-06
  • python3实现倒计时效果

    python3实现倒计时效果

    这篇文章主要为大家详细介绍了python3实现倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Python常用数据类型之列表使用详解

    Python常用数据类型之列表使用详解

    列表是Python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型。本文将通过示例详细讲解列表的使用,需要的可以参考一下
    2022-04-04
  • 用Python从零实现贝叶斯分类器的机器学习的教程

    用Python从零实现贝叶斯分类器的机器学习的教程

    这篇文章主要介绍了用Python从零实现贝叶斯分类器的教程,朴素贝叶斯算法属于机器学习中的基础内容、实用而高效,本文详细展示了用Python语言实现的步骤,需要的朋友可以参考下
    2015-03-03

最新评论