整数のリストの合計を取得するには、いくつかの選択肢があります。明らかに最も簡単な方法は ですがsum
、自分で行う方法を学びたいと思います。もう 1 つの方法は、加算した合計を保存することです。
def sumlist(alist):
"""Get the sum of a list of numbers."""
total = 0 # start with zero
for val in alist: # iterate over each value in the list
# (ignore the indices – you don't need 'em)
total += val # add val to the running total
return total # when you've exhausted the list, return the grand total
3 番目のオプションは ですreduce
。これは、それ自体が関数を受け取り、それを現在の合計と連続する各引数に適用する関数です。
def add(x,y):
"""Return the sum of x and y. (Actually this does the same thing as int.__add__)"""
print '--> %d + %d =>' % (x,y) # Illustrate what reduce is actually doing.
return x + y
total = reduce(add, [0,2,4,6,8,10,12])
--> 0 + 2 =>
--> 2 + 4 =>
--> 6 + 6 =>
--> 12 + 8 =>
--> 20 + 10 =>
--> 30 + 12 =>
print total
42