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

Python中如何无循环访问字典内列表首元素并求和?

解决方法:无显式循环求和字典列表的首元素

当然可以!完全不用写显式的for/while循环就能实现这个需求,这里有两种简洁的方式:

方法1:使用map() + sum()

利用map()批量提取每个列表的第一个元素,再用sum()直接完成求和:

my_dict = {'key1': [3, 1], 'key2': [0, 4], 'key3': [57492, 204652], 'key4': [1,3]}
total = sum(map(lambda x: x[0], my_dict.values()))
print(total)  # 输出结果:57496

这里map()会自动遍历字典的所有值(也就是各个列表),通过lambda函数取出每个列表的第一个元素,最后sum()把这些元素一次性加总,全程没有显式的循环语句。

方法2:使用生成器表达式 + sum()

如果你觉得lambda有点啰嗦,也可以用更直观的生成器表达式——它属于隐式循环,同样没有传统的循环代码块:

my_dict = {'key1': [3, 1], 'key2': [0, 4], 'key3': [57492, 204652], 'key4': [1,3]}
total = sum(lst[0] for lst in my_dict.values())
print(total)  # 输出结果:57496

生成器表达式会逐个取出字典值中的列表,提取首元素后直接交给sum()处理,写法更贴近自然语言,可读性也很强。

两种方法都能高效完成你的需求,选哪种全看个人习惯~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:52:35