マッピングされたリストの平均

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Python では、map() 関数を使って、リストの各要素に関数を適用し、変更された要素を持つ新しいリストを返すことができます。また、sum() 関数を使って、リストのすべての要素を合計することもできます。このチャレンジでは、与えられた関数を使って各要素を値にマッピングした後、これら 2 つの関数を組み合わせてリストの平均を計算します。

マッピングされたリストの平均

average_by(lst, fn = lambda x: x) という名前の関数を書きます。この関数は、リスト lst と関数 fn を引数とします。関数 fn は、リストの各要素を値にマッピングするために使用されます。その後、関数はマッピングされた値の平均を計算して返します。

fn 引数が提供されない場合、関数はデフォルトの同一関数を使用し、それは単に要素自体を返します。

あなたの関数は以下の要件を満たす必要があります。

  • map() を使用して各要素を fn によって返される値にマッピングします。
  • sum() を使用してすべてのマッピングされた値を合計し、len(lst) で割ります。
  • デフォルトの同一関数を使用するには、最後の引数 fn を省略します。

関数のシグネチャ:def average_by(lst, fn = lambda x: x) -> float:

def average_by(lst, fn = lambda x: x):
  return sum(map(fn, lst), 0.0) / len(lst)
average_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda x: x['n'])
## 5.0

まとめ

このチャレンジでは、与えられた関数を使って各要素を値にマッピングした後、map() 関数と sum() 関数を使ってリストの平均を計算する方法を学びました。また、Python 関数でデフォルト引数を使う方法も学びました。