Reduce

関数(第1引数)、リスト(第2引数)、初期値(第3引数)の3つの引数を受け取る汎用関数reduceを実装してください。
reduce関数の目的は、第3引数で初期化された累積値(total)を保持しながら、与えられた関数をリストの各要素に対して順番に適用し、最終的に単一の結果値を返すことです。
reduce関数は以下の手順を実行する必要があります:
  1. すべての引数を受け取る。
  1. リストを反復処理し、各ステップで累積値(total)と現在のリスト要素に提供された関数を適用する。
  1. リスト内のすべての要素を処理した後、累積値(total)の最終値を返す。
def reduce():
    ...

print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 0))     # 10
print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 4))     # 14
print(reduce(lambda total, item: total * item, [1, 2, 3, 4], 1))     # 24
print(reduce(lambda total, item: max(total, item), [1, 2, 3, 4], 0)) # 4
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 0)) # 0
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 5)) # 1
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue