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

如何将多个等长列表合并为同尺寸列表,保留索引位置对应有效值

合并多列表并保留索引对应值

需求:合并多个列表,生成新列表,保留所有非零有效值,同时保留原索引位置的零值,确保每个索引位置的结果与原列表对应位置的有效值一致(每个索引在所有输入列表中最多仅有一个非零值)。

输入列表:

list1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0]
list2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12]
list3 = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
list4 = [0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0]
list5 = [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0]
list6 = [0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0]
list7 = [0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0]
list8 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
list9 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
list10 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
list11 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
list12 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

解决方案

利用zip(*all_lists)将所有列表按索引位置打包,对每个位置的所有元素求和(因每个位置最多一个非零值,求和后即为该位置的有效值,零值保持不变):

# 整合所有输入列表
all_lists = [list1, list2, list3, list4, list5, list6, list7, list8, list9, list10, list11, list12]
# 按索引求和生成结果
results = [sum(items) for items in zip(*all_lists)]

最终结果

results = [1,0,0,4,5,6,7,0,0,0,11,12]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:47:48