numpy.array 和 array以及list的效率对比
来源:互联网 发布:知其荣守其辱哲学哲理 编辑:程序博客网 时间:2024/06/10 01:26
#coding:utf-8import timeitcommon_for = """for d in data: s += d"""common_sum = """sum(data)"""common_numpy_sum = """numpy.sum(data)"""def timeit_list(n, loops): list_setup = """import numpydata = [1] * {0}#生成n个数的列表s = 0""".format(n) print 'list:' print timeit.timeit(common_for, list_setup, number = loops)#'common_for'是要执行语句 list_setup导入执行语句需要的数据,loops表示执行语句最后要执行的次数 print timeit.timeit(common_sum, list_setup, number = loops) print timeit.timeit(common_numpy_sum, list_setup, number = loops)def timeit_array(n, loops): array_setup = """import numpyimport arraydata = array.array('L', [1] * {0})#unsigned long,这里的初始化必须先给类型s = 0""".format(n) print 'array:' print timeit.timeit(common_for, array_setup, number = loops) print timeit.timeit(common_sum, array_setup, number = loops) print timeit.timeit(common_numpy_sum, array_setup, number = loops)def timeit_numpy(n, loops): numpy_setup = """import numpydata = numpy.array([1] * {0})s = 0""".format(n) print 'numpy:' print timeit.timeit(common_for, numpy_setup, number = loops) print timeit.timeit(common_sum, numpy_setup, number = loops) print timeit.timeit(common_numpy_sum, numpy_setup, number = loops)if __name__ == '__main__': timeit_list(50000, 500) timeit_array(50000, 500) timeit_numpy(50000, 500)
我这里的结果是
list:0.7434018477520.2446816266781.00076942461array:1.838739361131.360518253844.02721759923numpy:3.862116207893.343977394350.0103776763518
所以对于numpy,我们尽量使用它的内置函数吧!
阅读全文
0 0
- numpy.array 和 array以及list的效率对比
- SQL 、Array.indexOf、Linq和DataTable.Select的效率对比
- numpy的array和matrix
- python内置array模块,与numpy中的array和list之间的转换
- Enum、List、Array对比
- Array和List对比之merge
- Array 和List对比之Partition
- Python numpy库中的array,list与矩阵的乘法,以及增添元素的方法
- numpy的asarray和array的区别
- numpy中matrix 和 array的区别
- numpy中array和asarray的区别
- numpy中matrix 和 array的区别
- numpy中matrix和array的区别
- numpy中matrix 和 array的区别
- NumPy的array
- numpy.array 的创建
- JAVA/Array和List以及ArrayList
- List 和Array的转化
- 编写一个学生类Students,该类成员变量包括学号no、姓名name、性别sex和年龄age,该类的成员方法有genNo()getName ). * getSex().getAge().和setA
- Mac 安装mysql以及python驱动
- Eclipse所有历史版本下载地址列表:
- OpenGL
- python while 循环
- numpy.array 和 array以及list的效率对比
- scp传输时提示 REMOTE HOST IDENTIFICATION HAS CHANGED的解决办法
- 场景原画设计教程之入门基础概括
- Eclipse 各版本下载
- JavaScript 内存泄漏教程
- 主线程等待所有子线程执行完毕后再继续的问题
- OA系统中根据文本框按钮控制执行路径和人员加锁和置灰
- bootstrap datepicker 属性设置 以及方法和事件
- python3.4 将16进制转成字符串