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

如何在循环生成的多行随机数列表中计算每行的和与平均值?

嘿,我来帮你搞定计算每行和与平均值的需求!先看你的原代码,这里有个小细节需要先修正:你在把list1添加到list2后直接清空了list1,但因为列表是引用类型,list2里的元素会跟着变成空列表,所以得用list1.copy()来添加列表的副本才行。

接下来,计算每行的和与平均值其实很简单,Python内置的sum()函数可以直接算出一行的总和,平均值就是总和除以该行的元素个数。下面给你两种实现方式,你可以根据需求选:

方式一:生成数据时直接计算并打印

这种方式在生成每行数据后立刻计算并输出,逻辑更连贯:

import random

for i in range(5):
    # 生成一行3个1-100的随机数
    row = [random.randrange(1, 101) for _ in range(3)]
    # 计算当前行的和与平均值
    row_sum = sum(row)
    row_avg = row_sum / len(row)
    # 格式化输出,让结果更清晰
    print(f"第{i+1}行: {', '.join(map(str, row))} | 总和: {row_sum} | 平均值: {row_avg:.2f}")

方式二:先存储所有数据,再遍历计算

如果你需要保留所有数据后续再处理,可以沿用你原有的存储结构,修改打印部分即可:

import random
list1 = []
list2 = []

for i in range(5):
    for j in range(3):
        list1.append(random.randrange(1, 101))
    list2.append(list1.copy())  # 这里用copy()避免引用问题
    list1 = []

# 遍历存储的数据,计算每行的和与平均值
for idx, row in enumerate(list2):
    row_sum = sum(row)
    row_avg = row_sum / len(row)
    print(f"第{idx+1}行: {', '.join(map(str, row))} | 总和: {row_sum} | 平均值: {row_avg:.2f}")

关键说明:

  • sum(row):直接传入行列表就能快速得到该行所有数字的总和,比手动循环累加简洁多了。
  • len(row):用这个获取每行的元素个数,比硬写3更灵活,以后如果要改成每行4个数字,这里不用改。
  • :.2f:格式化平均值保留两位小数,输出更美观易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:20:54