1. 把函数单独import的模块写在函数里面;
2. 少用全局变量,python 访问局部变量会比全局变量要快得多;
3. 对成员的查找字典比列表更快;
from time import time
t = time()
list = ['a','b','is','python','jason','hello','hill','with','phone','test', 'dfdf','apple','pddf','ind','basic','none','baecr','var','bana','dd','wrd'] #list = dict.fromkeys(list,True) print list
filter = [] for i in range (1000000):
for find in ['is','hat','new','list','old','.']:
if find not in list:
filter.append(find)
print "total run time:"
print time()-t
4. 尽量减少循环过程中的计算量,有多重循环的尽量将内层的计算提到上一层。
5. 尽量用xrange代替range,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。
6. 在要进行多个字符串连接的时候使用尽量使用 join() 而不是 +:,在字符的操作上 join 比 + 要快,因此要尽量使用 join 而不是 +。
7. 优化多个判断表达式的顺序:
A. and表达式应该把满足条件少的放在前面
B. or表达式应该把满足条件多的放前面
8. 使用is代替==:
A. i for i in a if i == 100
B. I for i in a if a is 100
9. 使用while 1 代替 while True,因为在python2.X中True是一个全局变量,而不是关键字
10. C语言实现的包比python自带的包要快很多