创建列表的几种方式及其性能比较
来源:互联网 发布:ubuntu安装grub2 编辑:程序博客网 时间:2024/06/06 01:29
Python 内置类型性能分析
Python内置的两种类型列表(list)和字典(dict)不属于基本的数据类型。我在这儿列举了几种创建列表(list)的方式以及这些方式时间复杂度的比较,在计算时间复杂度时使用了time.Timer类。
创建列表的几种方式总结
# range函数变列表def test1(): li = list(range(10000))# 列表生成式def test2(): li = [i for i in range(10000)]# append方法def test3(): li = [] for i in range(10000): li.append(i)# 列表相加操作def test4(): li = [] for i in range(10000): li += [i]# extent方法def test5(): li = [] for i in range(10000): li.extent([i])
五种方式的运行时间:
按性能排列(时间复杂度小,性能好): range() > list生成式 > append > 列表相加 > extend
timeit模块
timeit测试一小段python代码的执行速度。
- class timeit.Timer(stmt=’pass’, setup=’pass’, timer=)
stmt参数表示要执行的代码,是字符串形式
setup参数是为了执行代码而需要的配置环境,咱这里就是从本模块中导入相应的函数 - timeit.Timer.timeit(number=10000)
表示是timeit这个模块中的Timer类中的实例方法timeit,其中形参是总共测试了多少次,返回值是测试的平均值
例如:
t1 = timeit.Timer('test1()', 'from __main__ import test1')print(t1.timeit(number=10000))
阅读全文
0 0
- 创建列表的几种方式及其性能比较
- 创建列表的几种方式
- Java遍历List的几种方法及其性能比较
- 解析XML文件的几种方式及其比较
- [JS] JS数组遍历的几种方式性能比较
- 比较并说明下述几种I/O控制方式的优缺点及其应用场合。
- XML基础+Java解析XML +几种解析方式的性能比较
- 几种常见数据库的性能比较
- 几种C++编译器的性能比较
- 几种编译器的性能比较
- 几种通信协议的性能比较
- 几种toString的性能比较
- 几种通信协议的性能比较
- ArrayList列表不同遍历方式性能比较
- 几种网络编程方式的比较
- 几种查找方式的比较
- 几种建模方式的比较
- 线程同步几种方式的比较
- 【StatsD监控】基于Telegraf+InfluxDB+grafana展示(非Docker方案)
- echarts带提示气泡的柱图
- sping boot 之web 再谈
- 火狐设定每次访问检查缓存-yellowcong
- CentOS6.9安装JDK1.7
- 创建列表的几种方式及其性能比较
- BZOJ2753: [SCOI2012]滑雪与时间胶囊(最小生成树)
- 修改css文件但网页没有变化
- java8新特性回顾(二)---stream api
- Redis基础-1-基础入门理解
- 求数组中的最值问题
- function-like classes 仿函数笔记----C++学习之路
- OpenStack----使用devstack 安装openstack(All in one)
- 模拟实现memcpy函数