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

如何打印列表中元组的平均值?附现有实现代码及测试情况

如何打印元组列表的平均值并优化你的函数

首先解决你最关心的打印问题:调用你的函数后,直接用print()函数输出返回值就可以了。举个例子:

some_records = [('2010-01-01',100), ('2010-01-02',200), ('2010-01-03',300)]
# 调用函数得到平均值
average = average_vehicles(some_records)
# 打印结果
print(average)

如果想要更友好的输出格式,还可以用f-string来格式化:

print(f"The average number of vehicles is: {average}")

另外,我注意到你的函数里有个小问题:当列表为空时,你返回的是字符串"None",但需求是返回Python的None对象(不是字符串)。你需要把average = "None"改成average = None,这样才符合要求。

为了让代码更简洁、更符合Python风格,你可以优化一下函数实现,不用手动循环累加,而是用sum()和len()来简化:

def average_vehicles(vehicle_records):
    """Return average of vehicles, or None if the input list is empty"""
    # 判断列表是否为空,用not vehicle_records比!= []更简洁
    if not vehicle_records:
        return None
    # 用生成器表达式计算所有元组第二个元素的总和
    total_vehicles = sum(record[1] for record in vehicle_records)
    # 计算平均值并返回
    return total_vehicles / len(vehicle_records)

这个优化后的代码逻辑和你的原代码一致,但更简洁易读。

最后,我们可以测试两种场景的打印效果:

# 测试有数据的情况
some_records = [('2010-01-01',100), ('2010-01-02',200), ('2010-01-03',300)]
avg = average_vehicles(some_records)
print(f"Average: {avg}")  # 输出 Average: 200.0

# 测试空列表的情况
empty_records = []
avg_empty = average_vehicles(empty_records)
print(avg_empty)  # 输出 None

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:11:17