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

Python如何根据独立列表指定的键计算字典对应值总和

实现方式

直接用Python内置的sum()函数做累加即可,一行代码就能完成需求:

hits = {"The Weeknd": 6, "Maroon 5": 0, "Justin Bieber": 8, "Post Malone": 5}
artists = ["The Weeknd", "Justin Bieber"]

total = sum(hits[artist] for artist in artists)
print(total)  # 输出结果:14

异常兼容写法

如果你没法保证artists列表里的所有歌手名一定存在于hits字典中,上面的写法会抛出KeyError。这种场景可以用字典的get()方法给不存在的键设置默认值0,不存在的歌手默认按0计算,不会中断求和逻辑:

total = sum(hits.get(artist, 0) for artist in artists)

性能注意点

不要写遍历整个hits字典再判断键是否在artists列表里的逻辑:

  • 字典按键取值的时间复杂度是O(1),按artists列表遍历取值的整体时间复杂度是O(k),其中k是artists列表的长度
  • 遍历整个hits字典的时间复杂度是O(m),其中m是hits字典的键值对数量,当hits体量远大于artists时,性能差距会非常明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:48:21