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

Python仅用内置函数实现嵌套列表按key分组求和(不使用pandas)

Python列表分组求和问题解答

原代码错误原因

  • 判断逻辑错误:result 中存储的是[分类标识, 数值]结构的子列表,直接判断字符串类型的分类标识x是否存在于result中,永远会返回False,因此循环只会一直执行追加操作,永远不会进入求和分支,最终结果和原列表结构近似。
  • 取值下标错误:即使进入else分支,代码中的result[1]是取整个结果列表的第二个元素,并非与当前x匹配的那条记录的数值位,会出现取值错误、求和位置错误的问题。

正确实现(仅使用Python内置函数,无需第三方库)

我们可以用内置的字典结构做分组统计,最终转换为要求的列表格式即可:

list_data = [
    ['a', 1],
    ['b', 1],
    ['a', 2],
    ['a', 2],
]
# 用字典做分组计数
count_dict = {}
for cate, num in list_data:
    count_dict[cate] = count_dict.get(cate, 0) + int(num)
# 转换为要求的输出格式
result = [[k, v] for k, v in count_dict.items()]
print(result)

运行输出:

[['a', 5], ['b', 1]]

内容的提问来源于stack exchange,提问作者Luis Alejandro Vargas Ramos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:06:03