python中“+=”操作与“+”操作
来源:互联网 发布:淘宝怎么批量添加水印 编辑:程序博客网 时间:2024/06/05 03:34
先来看段代码:
from timeit import Timerdef test1(): l = [] for i in range(1000): l = l + [i]def test2(): l = [] for i in range(1000): l.append(i)def test3(): l = [] for i in range(1000): l += [i]t1 = Timer("test1()", "from __main__ import test1")print("+ ",t1.timeit(number=1000), "seconds")t2 = Timer("test2()", "from __main__ import test2")print("append ",t2.timeit(number=1000), "seconds")t3 = Timer("test3()", "from __main__ import test3")print("+= ",t3.timeit(number=1000), "seconds")
结果为:
('+ ', 1.1890289783477783, 'seconds')('append ', 0.06389594078063965, 'seconds')('+= ', 0.09289216995239258, 'seconds')
从结果可以看出,“ l += [i]”的效率远远高于“l = l + [i]”,“ l += [i]”的效率跟“l.append(i)”差不多
这是因为“ l += [i]”跟“l.append(i)”是直接作用于list对象上的,而“l = l + [i]”是先在等号右边创建一个新的列表“ l + [i]”,然后在放到等号左边的“l”中。
所以在python中“+”操作效率时很低的,应尽量避免使用来提高程序的效率。
阅读全文
0 0
- python中“+=”操作与“+”操作
- Python中choice用法与三元操作
- python中列表的操作与应用
- python中字典的操作与应用
- python中+=操作符
- python 操作符**与*
- python中socket操作
- python中list操作
- python中字符串操作
- python中字典操作
- python中操作MySQLdb
- Python中字符串操作
- Python中list操作
- python中datetime操作
- python中数据库操作
- Python 中list, dictionary 与 file相互操作
- python:目录与文件操作
- python目录与文件操作
- Java文件--复制
- first day
- 16.Struts2_OGNL读取Map栈(Context Map)里对象的属性及其他字段和方法
- csv文件中关于null byte的处理
- cdecl、stdcall、fastcall函数调用约定区别
- python中“+=”操作与“+”操作
- 使用Mac iterm2连接Linux服务器
- 剑指offer 51 数组中重复的数字
- 事件遮罩
- linux网络编程之posix 线程(四):posix 条件变量与互斥锁 示例生产者--消费者问题
- java中自定义封装json以及和对象的转换
- Kylin-4.0.2-server-sp1-Community(银河麒麟)Seafile安装笔记
- docker实战之ssh服务镜像
- 设计模式之----解释器模式