python提高运行速度的几个提式
尽量使用内置的方法
1
2
3
4
5
6
7# bad one
newlist = []
for word in wordlist:
newlist.append(word.upper())
# better
newlist = map(str.upper, wordlist)
使用列表生成式来替换循环生成的语句
1
2
3
4
5
6
7# bad one
even = []
for i in range(1000):
if i % 2 == 0:
even.append(i)
# better one
even = [i for i in range(1000) if i % 2 == 0]
使用
join
方法来替换+
,字符串的连结1
2
3
4# bad one
Idendity = "I'm" + "a" + "Programmer"
# better one
Identity = " ".join(["I'm", "a", "Programmer"])
使用
1
来替换True
实现死循环的操作,可以减少部分的比对消耗1
2
3
4
5
6
7# bad one
while True:
print("hello")
# better one
while 1:
print("hello")多个参数的定义
1
2
3
4
5
6# bad one
a = 'test'
b = 'test2'
# better one
a, b = 'test', 'test2'更多的使用C模块,例如
Numpy
这种完全用c写的模块,性能非常好- 升级python的版本
- 引入模块的时候,尽量使用
from...import...
的方式,来避免引入整个包