python 解决最佳方案_python使用列表的最佳方案
python使用列表的最佳方案,列表,方式,方法,函数,表达式
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 Timert1 = 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使用列表的最佳方案的详细介绍。欢迎大家对python使用列表的最佳方案内容提出宝贵意见
python 解决最佳方案_python使用列表的最佳方案相关推荐
- python两两组合_python – 一个列表中的两个组合列表
我是一个Python初学者.我想从一个列表中获取两个组合列表. 例如,我有一个列表: c = [1, 2, 3, 4] 我想使用每四个项目来获得每个可能的组合来填充两个列表.将会有((2 ^ 4)/ ...
- python常用关键字意思_Python 关键字列表及示例
本教程提供有关Python中使用的所有关键字的简要信息. 关键字是Python中的保留字.我们不能将关键字用作变量名,函数名或任何其他标识符. 这是Python编程中所有关键字的列表 上述关键字可能会 ...
- python技术文档_Python技术文档最佳实践
所有好的产品都应该有一份简洁易读的使用说明书,除了苹果的产品.苹果认为他们的产品应该设计成为无须说明,用户天生就应该知道如何使用的那种. 但是很显然,对于软件来说,其复杂性之高,往往要求有与之配套的详 ...
- python判断汉字个数_python判断列表里数量python中文乱码问题大总结
在运行这样类似的代码:#!/usr/bin/env python s="中文" print s 最近经常遇到这样的问题: 问题一:SyntaxError: Non-ASCII ch ...
- python中并集符号_python中列表之间求差集、交集、并集
求两个列表的交集.并集.差集 def diff(listA, listB): # 求交集的两种方式 retA = [i for i in listA if i in listB] retB = lis ...
- python返回索引值_python 返回列表中某个值的索引方法
python 返回列表中某个值的索引方法 如下所示: list = [5,6,7,9,1,4,3,2,10] list.index(9) out:3 同时可以返回列表中最大值的索引list.index ...
- python数字大小排列_python按照列表元素中的数字大小排序
[Human Sorting] 常见的python排序只需要一个sort或者sorted函数即可.但是默认采用的是字典序,这会带来一个问题,如果列表中的元素是字符串+数字组合,往往无法得到我们想要的排 ...
- python统计各种数量_python 统计列表中不同元素的数量方法
python 统计列表中不同元素的数量方法 刚刚上网搜了一下如何用python统计列表中不同元素的数量,发现很少,找了半天.我自己来写一种方法. 代码如下 list=[1,1,2,2,3] print ...
- python指定元素对调_Python 将列表中的头尾两个元素对调
Python 将列表中的头尾两个元素对调 定义一个列表,并将列表中的头尾两个元素对调. 例如:对调前 : [1, 2, 3] 对调后 : [3, 2, 1]def swapList(newList): ...
最新文章
- util包下的Date与sql包下的Date之间的转换
- 如何将自己写的verilog模块封装成IP核(一)
- 关于Mybatis查询结果的封装
- 管理心得之学术,交通,作息,心态
- linux安装php pgsql,Linux下apache php+phppgadmin+postgresql安装配置
- python拟牛顿法迭代点绘制_最速下降法、牛顿法、拟牛顿法,Python实现高维二次目标函数优化...
- P5591-小猪佩奇学数学【单位根反演】
- numpy常用函数(更新中)
- android百度输入法表情符号,分析Android 搜狗输入法在微信和QQ中发送图片和表情...
- 线条边框简笔画图片大全_简笔画猪 手抄报图片边框版式大全
- 什么是信息化?什么是数字化?这两者有什么联系和区别?
- ARM 开发板修改MAC地址
- PHP fwrite和file_put_contents 性能对比测试
- 《神经网络与深度学习》习题答案
- 集团化企业的电子印章管理模式
- 限时秒杀┃“探月计划”来袭,美国米德天文望远镜助孩子观月赏月
- flutter显示图标_flutter中密码输入如何切换隐藏/显示?
- Matlab 基于IRLS的加权Cauchy稳健估计算法之二
- 楠橘星后台管理系统 (第二版)
- 系统分析师学习笔记(十五)
热门文章
- CVPR2020:三维实例分割与目标检测
- 自动驾驶关键技术分解和流程
- 2021年大数据ELK(七):安装Elasticsearch-head插件
- 2021年大数据Flink(三):​​​​​​​Flink安装部署 Local本地模式
- Django高级管理静态文件和中间件5.1
- INSTALL_FAILED_USER_RESTRICTED
- github READme 的使用教程
- window系统mysql无法输入和无法显示中文的处理配置
- Asp.net MVC中的ViewData与ViewBag
- Go 学习笔记(36)— 基于Go方法的面向对象(封装、继承、多态)