Python如何将for循环输出存入带索引标签的列表并计算均值
实现方法
你要的按循环变量m标记每轮生成的列表,直接提前初始化一个存储结果的列表即可,循环变量m是从0开始递增的整数,天然和列表索引一一对应,完全匹配你要的lst[0]、lst[1]的标记需求,不需要额外做标签映射。
修改后的代码
import random lst = [] for m in range(0,2): rand_list = [] n = 10 for i in range(n): rand_list.append(random.randint(3,9)) # 将当前轮生成的列表存入结果列表,索引值刚好等于当前m lst.append(rand_list) print(rand_list)
运行结束后,lst[0]就是m=0轮生成的随机列表,lst[1]就是m=1轮生成的随机列表,和你的需求完全一致。
后续统计计算示例
注意你原来写的均值公式lst_mean = lst[0]+lst[1]/2存在语法问题:Python中列表不能直接和数值做除法,你可以根据实际需求选择计算方式:
- 计算两个列表所有元素的总均值
# 两个列表总长度为20,求全部元素的平均值 total_mean = (sum(lst[0]) + sum(lst[1])) / (len(lst[0]) + len(lst[1]))
- 计算两个列表对应位置元素的均值,返回长度为10的均值列表
pos_mean = [(val1 + val2)/2 for val1, val2 in zip(lst[0], lst[1])]
这种写法扩展性很强,如果你后续把循环次数改成range(k),结果列表会自动生成lst[0]到lst[k-1]共k个带索引标记的结果,不需要修改存储逻辑,后续不管是遍历做统计、按索引取值都很方便。不建议用动态生成独立变量的方式(比如通过globals()创建lst0、lst1这类变量),后续做批量统计时会非常麻烦。
内容的提问来源于stack exchange,提问作者Marion
相关产品推荐
相关产品推荐

