1 列表生产式:将全部的结果所有计算出来,把结果存放到内存中,若是列表数据比较多,会占用过多的内存空间, 可能致使MemoryError内存错误或者致使在运行时出现卡顿现象 2 列表生成器: 会创立一个列表生成器对象,不会一次性把全部数据否都计算出来,若是要获取,可使用next()函数 一旦next()函数不能获取对象,会爆出StorpIteration 异常错误,可使用for循环遍历 视状况而定 python 2.7 中的 range 和 xrange 的区别
2 reduce() 函数 要执行函数内两个元素会进行一次运算,将运算结果和第三个元素再次运算,以此类推python
# python 2 中 # 累计计算从1加到10 的运算 list1 = [1,2,3,4,5,6,7,8,9,10] def add(x,y): rs = x + y return rs s = reduce(add,list1) print(s) # 55 # python 3 中已经取消了reduce()函数的调用,须要调用 from functools import reduce list1 = [1,2,3,4,5,6,7,8,9,10] def add(x,y): rs = x + y return rs s = reduce(add,list1) print(s) # 55