分享5个python提速技巧,速度瞬间提上来了
2022-01-08 04:07
886 查看
目录
1、跳过迭代对象的开头
string_from_file = """ // Wooden: ... // LaoLi: ... // // Whole: ... Wooden LaoLi... """ import itertools for line in itertools.dropwhile(lambda line: line.startswith("//"), string_from_file.split(" ")): print(line)
2、避免数据复制
# 不推荐写法,代码耗时:6.5秒 def main(): size = 10000 for _ in range(size): value = range(size) value_list = [x for x in value] square_list = [x * x for x in value_list] main()
# 推荐写法,代码耗时:4.8秒 def main(): size = 10000 for _ in range(size): value = range(size) square_list = [x * x for x in value] # 避免无意义的复制
3、避免变量中间变量
# 不推荐写法,代码耗时:0.07秒 def main(): size = 1000000 for _ in range(size): a = 3 b = 5 temp = a a = b b = temp main()
# 推荐写法,代码耗时:0.06秒 def main(): size = 1000000 for _ in range(size): a = 3 b = 5 a, b = b, a # 不借助中间变量 main()
4、循环优化
# 不推荐写法。代码耗时:6.7秒 def computeSum(size: int) -> int: sum_ = 0 i = 0 while i < size: sum_ += i i += 1 return sum_ def main(): size = 10000 for _ in range(size): sum_ = computeSum(size) main()
# 推荐写法。代码耗时:4.3秒 def computeSum(size: int) -> int: sum_ = 0 for i in range(size): # for 循环代替 while 循环 sum_ += i return sum_ def main(): size = 10000 for _ in range(size): sum_ = computeSum(size) main()
隐式for循环代替显式for循环
# 推荐写法。代码耗时:1.7秒 def computeSum(size: int) -> int: return sum(range(size)) # 隐式 for 循环代替显式 for 循环 def main(): size = 10000 for _ in range(size): sum = computeSum(size) main()
5、使用numba.jit
# 推荐写法。代码耗时:0.62秒 # numba可以将 Python 函数 JIT 编译为机器码执行,大大提高代码运行速度。 import numba @numba.jit def computeSum(size: float) -> int: sum = 0 for i in range(size): sum += i return sum def main(): size = 10000 for _ in range(size): sum = computeSum(size) main()
到此这篇关于分享5个python提速技巧,速度瞬间提上来了的文章就介绍到这了,更多相关python提速技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- 让python同时兼容python2和python3的8个技巧分享
- Python 分享10个PyCharm技巧
- Python 代码性能优化技巧分享
- Python线程下使用锁的技巧分享
- win8关机慢怎么解决?加快win8关机速度小技巧分享
- 18个Python脚本可加速你的编码速度(提示和技巧)
- 让python同时兼容python2和python3的8个技巧分享
- 让python同时兼容python2和python3的8个技巧分享
- python技巧分享(六)
- python中5个json库的速度对比
- 分享:【转载】Python中使用线程的技巧
- Python列表生成器的循环技巧分享
- Python内建容器类型, 5个技巧和2个误区
- JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧
- python技巧分享(八)
- Python 代码性能优化技巧分享
- python之array赋值技巧分享
- 掌握这5个PPT技巧,让你一分钟小白变大神,瞬间提升PPT逼格
- win7系统提速(优化系统速度)技巧总结
- python大咖分享的文件操作的那些技巧