python列表求和的几种等效方法
求1-100所有数的和:
方法一:用到python自带的sum函数
L= range(1,101)
print(sum(L)) #5050
方法二:
from functools import reduce #python2可以直接使用reduce,python3需要从functools导入reduce
L = range(1,101)
def f(x,y):
return x+y
sum = reduce(f,L)
print(sum) #5050
方法三:
L = range(1,101)
sum = 0
n = len(L)-1
while n >= 0:
sum+=L[n]
n = n - 1
print(sum)#5050
还有其他方法吗,我再想想。。。
方法四:好开心啊,早上上班途中想起递归算法,一下又有一种
def sum(n):
if n == 0 or n == 1:
return 1
return n + sum(n - 1)
print(sum(100)) #5050
posted on 2016-12-01 19:14 yaxin1989 阅读(9128) 评论(0) 编辑 收藏 举报