- 排序优先采用内置对象的排序方法
def sortby(somelist, n):
nlist = [(x[n], x) for x in somelist]
nlist.sort()
return [val for (key, val) in nlist] - 字符串连接
s = "".join(list)
代替 s = ""
for substring in list:
s += substring- loop循环处理
对简单的循环,用map来代替
newlist = []
for word in oldlist:
newlist.append(word.upper())用下面map方式来优化
newlist = map(str.upper, oldlist)
- 循环中避免用dots
upper = str.upper
newlist = []
append = newlist.append
for word in oldlist:
append(upper(word)) - 用xrange代替range(xrange采用generator,但有限制,只能用于ints类型)
- 循环中尽可能采用本地变量
对于没有也不能通过map优化的loop循环,循环体内应尽可能采用本地变量
def func():
upper = str.upper
newlist = []
append = newlist.append
for word in oldlist:
append(upper(word))
return newlist- 导入模块尽量在module级别,而不要在function级别
import string ###### import statement outside function
def doit2():
string.lower('Python')
for num in range(100000):
doit2()代替: def doit1():
import string ###### import statement inside function
string.lower('Python')
for num in range(100000):
doit1()