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

如何用Python对嵌套列表各位置元素求平均并生成指定格式列表?

Pythonic 实现嵌套列表按位置求平均值

核心实现代码

针对需求,可借助Python内置的zip(*)转置嵌套列表,结合列表推导式快速完成:

alist = [[1,2],[4,1],[3,2]]

# 转置列表,将同位置元素归为一组
transposed_cols = zip(*alist)
# 生成目标格式的结果列表
result = [
    (f'item{i+1}', sum(column)/len(column))
    for i, column in enumerate(transposed_cols)
]

print(result)
# 输出:[('item1', 2.6666666666666665), ('item2', 1.6666666666666667)]

关键逻辑说明

  • zip(*alist):这是Python中转置嵌套序列的经典操作,它会把原列表中每个子列表的第n个元素提取出来组成新元组,实现按位置分组。
  • 列表推导式:遍历转置后的每一组元素,用enumerate获取位置索引来生成item1、item2这类命名,再通过sum(column)/len(column)直接计算该位置的平均值。

健壮性优化(可选)

如果需要处理空列表、子列表为空这类边界情况,可封装成函数:

def get_position_averages(alist):
    # 处理空输入场景
    if not alist or not alist[0]:
        return []
    transposed_cols = zip(*alist)
    return [
        (f'item{i+1}', sum(col)/len(col))
        for i, col in enumerate(transposed_cols)
    ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:20:32