📌  相关文章
📜  函数,它接受一个整数列表并返回一个包含五个数字摘要的字典.. - Python (1)

📅  最后修改于: 2023-12-03 15:36:49.995000             🧑  作者: Mango

函数:生成数字摘要

本函数接受一个整数列表并返回一个包含五个数字摘要的字典。数字摘要是指一些可以描述数据分布及特征的统计量,比如最大值、最小值、均值、标准差等。

代码实现
def generate_summary(numbers):
    """
    生成数字摘要。

    参数:
        numbers(list[int]):整数列表。

    返回值:
        summary(dict):包含五个数字摘要的字典,包括最大值、最小值、中位数、均值和标准差。
    """

    if not numbers:
        raise ValueError("列表不能为空!")

    max_num = max(numbers)
    min_num = min(numbers)
    median = sorted(numbers)[len(numbers) // 2]
    mean = sum(numbers) / len(numbers)

    variance = sum((x - mean) ** 2 for x in numbers) / len(numbers)
    std_deviation = variance ** 0.5

    summary = {"max": max_num,
               "min": min_num,
               "median": median,
               "mean": mean,
               "std_deviation": std_deviation}

    return summary
代码说明

该函数接受一个整数列表,并使用内置函数 max()min() 分别返回列表中的最大值和最小值。同时,使用 sorted() 生成排序后的列表,计算其中位数。通过求和除以个数求得均值。接着,遍历列表求得方差并开方得到标准差。最后,将以上五个数字存入一个字典中并返回。

使用示例
>>> generate_summary([1, 2, 3, 4, 5])
{'max': 5, 'min': 1, 'median': 3, 'mean': 3.0, 'std_deviation': 1.4142135623730951}

>>> generate_summary([2, 4, 6, 8, 10])
{'max': 10, 'min': 2, 'median': 6, 'mean': 6.0, 'std_deviation': 2.8284271247461903}

>>> generate_summary([0])
{'max': 0, 'min': 0, 'median': 0, 'mean': 0.0, 'std_deviation': 0.0}