統計値の計算
あなたは
n
個の数値のリストを与えられています。このリストから平均値、中央値、最頻値といった特定の統計量を計算して返す関数 calculate_statistics
を実装してください。この関数は、1つの位置引数
numbers
(数値のリスト)と、デフォルト値がすべて False
の3つのキーワード専用引数 mean
、median
、mode
を取ります。関数は、True
に設定された統計量のみを計算して返します。もし統計量が何も要求されていない場合(すべて False
の場合)、関数は空の辞書を返すべきです。関数の出力は、統計量の名前をキーとし、その計算結果を値とする辞書とします。関数は以下のように定義してください:
def calculate_statistics(numbers, *, mean=False, median=False, mode=False):
入力 | 出力 |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True) | {'mean': 5.222222222222222} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], median=True) | {'median': 5} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mode=True) | {'mode': [2, 8]} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True, median=True, mode=True) | {'mean': 5.222222222222222, 'median': 5, 'mode': [2, 8]} |
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2]) | {} |
calculate_statistics([1, 2], median=True, mean=True, mode=True) | {'mean': 1.5, 'median': 1.5, 'mode': [1, 2]} |
注意: データセットが複数の最頻値を持つ場合、関数はそれらすべての最頻値を小さい順に並べたリストとして返すべきです。データセットが単一の最頻値のみを持つ場合、関数はその最頻値をリストに入れて返します。最頻値が存在しない場合、関数は 'mode' の値として空のリストを返すべきです。
mean(平均値)
数値のリストの平均値は、すべての数値の合計を数値の個数で割ったものです。
median(中央値)
中央値は、データセットを小さい順に並べたときの中央の値です。
mode(最頻値)
最頻値は、データセット内で最も頻繁に現れる数値のことです。
データセットには1つの最頻値がある場合、複数の最頻値がある場合、または最頻値が全くない場合があります。
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB