>>> L = [1,2,3,4,5]>>> L = [x+10 for x in L]>>> L[11, 12, 13, 14, 15]
list comprehension使代码变得简洁。下面这种常用的方法则显得过时:
>>> L = [1,2,3,4,5]>>> for i in range(len(L)):... L[i]+=10... >>> L[11, 12, 13, 14, 15]
事实上在使用list comprehension时,代码内部相当于执行下面操作:
>>> L = [1,2,3,4,5]>>> res = []>>> for x in L:... res.append(x+10)... >>> res[11, 12, 13, 14, 15]
在可以的使用的地方尽可能使用list comprehension,是一种地道的Python写法。另外,相比for
循环,list comprehension在编译器内部的执行效率接近C,速度更快。