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