如何用Python对含100+子列表的列表按索引求最值与平均值?
Python 按索引处理多子列表的计算方案
实现代码
先把所有子列表整合到一个主列表中(如果还没这么做的话),然后通过简单迭代计算所需结果:
# 示例输入(实际可替换为包含100+子列表的主列表) main_list = [ [3, 2, 7], [1, 5, 7], [10, 3, 6] ] # 计算三个目标值 max_idx0 = max(sublist[0] for sublist in main_list) min_idx1 = min(sublist[1] for sublist in main_list) avg_idx2 = sum(sublist[2] for sublist in main_list) / len(main_list) # 整理为结果列表,可按需调整小数位数 result = [max_idx0, min_idx1, round(avg_idx2, 3)] print(result) # 输出: [10, 2, 6.667](或6.666,取决于round精度设置)
代码说明
- 索引0的最大值:通过生成器表达式遍历所有子列表的索引0元素,用
max()直接取最大值 - 索引1的最小值:同理,遍历子列表的索引1元素,用
min()取最小值 - 索引2的平均值:先通过
sum()累加所有子列表的索引2元素,再除以子列表总数量得到平均值;需要固定小数位数时,用round()处理即可
这个方案时间复杂度为O(n)(n为子列表数量),处理100+个子列表完全无压力,逻辑简洁高效。
内容的提问来源于stack exchange,提问作者mohd aamer hussain
相关产品推荐
相关产品推荐

