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

如何高效对比并合并Python二维列表中同类目关联字段?

解决Python二维列表按分类合并数值字段的问题

这里有个实用的方案,核心思路是用字典分组——把(主分类, 子分类)的组合作为字典的键,精准把同分类下的数值串收集到一起,最后再转回你需要的二维列表格式:

# 你的原始二维列表
original_list = [
    ["CatA", "SubCatA", "3,4"],
    ["CatB", "SubCatA", "1,2"],
    ["CatA", "SubCatA", "5,9"],
    ["CatA", "SubCatB", "4,7"]
]

# 初始化字典用于分组,键是(Cat, SubCat)元组,值是数值的列表
grouped_data = {}
for category, sub_category, num_str in original_list:
    # 用元组做唯一标识键
    key = (category, sub_category)
    # 拆分当前的数值字符串,添加到对应分组
    if key not in grouped_data:
        grouped_data[key] = []
    grouped_data[key].extend(num_str.split(","))

# 将分组后的字典转换回目标二维列表
merged_list = [[key[0], key[1], ",".join(values)] for key, values in grouped_data.items()]

# 输出结果看看
print(merged_list)

代码逻辑说明:

  • 用元组(category, sub_category)作为字典键,完美匹配“主分类+子分类”的唯一组合要求;
  • 遍历原始列表时,把每个元素的数值串按逗号拆分,追加到对应分组的列表里;
  • 最后用列表推导式把字典转成你要的格式,把收集到的数值列表用逗号拼接成字符串。

另外要注意:Python 3.7及以上版本的字典是插入有序的,所以最终的merged_list会保持原始列表中各组首次出现的顺序,和你给出的示例结果顺序完全一致~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:24:00