如何使用Python使循环运行更快?

如何使用Python使循环运行更快?

这是一个语言无关的问题。几乎每种语言都有循环,同样的原则也适用于各种语言。你需要认识到,编译器在循环优化方面做了大部分的重活,但是作为一个程序员,你也需要优化你的循环。

重要的是要认识到,所有放在循环里的东西都会在每次循环迭代时被执行。优化循环的关键是尽量减少其执行的操作。即使看起来非常快的操作,如果重复执行很多次,也会花费很长时间。执行一次需要1微秒的操作,如果执行一百万次,需要1秒钟才能完成。

在循环中不要执行像len(list)这样的操作,甚至不要在循环的起始条件中执行它。

阅读更多:Python 教程

例子

a = [i for i in range(1000000)]
length = len(a)
for i in a:
    print(i - length)

这比这个要快得多:

a = [i for i in range(1000000)]
for i in a:
    print(i - len(a))

你也可以使用像Loop Unrolling(https://en.wikipedia.org/wiki/Loop_unrolling)这样的技术,Loop Unrolling是一个循环转换技术,旨在优化程序的执行速度,以时间和空间的平衡为代价。

使用像map、filter等函数而不是for循环可以提供一些性能改进。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程