python2 和python3 的一些區別

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
相關文章
相關標籤/搜索