You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python函数中从CSV文件返回带统计信息的多值(字符串+数值)

获取最低销售额对应月份的Python解决方案

你当前的代码只单独收集了销售额数值,丢失了和月份的关联,所以没法同时拿到最低销售额对应的月份。这里给你两种实用的修改思路:

方法一:绑定销售额与月份后找最小值

直接把每个销售额和对应的月份打包成元组存入列表,利用Python元组的比较特性快速找到最小值:

header = ["year", "month", "sales", "expenditure"]

def run():
    data = read_data()
    sales_with_month = []

    for row in data:
        sale = int(row["sales"])
        # 将销售额(数值)和月份(字符串)组成元组,存入列表
        sales_with_month.append( (sale, row["month"]) )

    # min()函数会优先比较元组的第一个元素(销售额),返回最小的那个元组
    min_sale, min_month = min(sales_with_month)
    print(f"最低销售额为{min_sale},对应月份:{min_month}")

run()

方法二:遍历过程中实时跟踪最小值

如果CSV文件数据量较大,这种方法无需存储所有数据,内存占用更小:

header = ["year", "month", "sales", "expenditure"]

def run():
    data = read_data()
    # 初始化最小值为一个极大值,确保第一个销售额能替换它
    min_sale = float('inf')
    min_month = ""

    for row in data:
        current_sale = int(row["sales"])
        current_month = row["month"]
        # 每次比较当前销售额与记录的最小值,更新数据
        if current_sale < min_sale:
            min_sale = current_sale
            min_month = current_month

    print(f"最低销售额为{min_sale},对应月份:{min_month}")

run()

注意:确保read_data()函数返回的是可遍历的字典列表(比如用csv.DictReader读取CSV文件的结果),这样才能通过row["month"]和row["sales"]获取对应字段。

内容的提问来源于stack exchange,提问作者Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:05:13