python - 如何仅根据键中元组的一个元素对字典中的值求和?
问题描述
我有一个以元组为键的字典,如下所示:
myDict = {('A','A'):0,
('A','B'):3,
('A','C'):2,
('A','D'):5,
('B','A'):10,
('B','B'):13,
('B','C'):14,
('B','D'):12}
如何对元组中第一个元素的所有值求和'B'
,结果是49
?
解决方案
用于sum()
元组的第一项为“B”的字典值
(根据@rafaelc 编辑):更干净,不要在此处使用三元运算符
sum(val for key, val in dict.items() if key[0] == 'B')
而不是原来的:
sum(val if key[0] == 'B' else 0 for key, val in dict.items())
另外,不要将您的字典称为dict
推荐阅读
- python - 如何使用python处理将值添加到具有现有值的txt文件的第一行
- jsreport - 用 jsreport-core 添加很多行
- python - 检查任何 Html 标签中是否存在属性 Selenium Python
- python - 我如何推导出这部分算法
- vba - 数据透视表 0 个总计错过了
- sql - 为什么我的 FOREIGN KEY 约束不起作用:为什么插入的外部列中不存在值?
- python-3.x - 有没有办法在 python 中扫描整个网络范围(192.168.0./24)并将数据输出到文本文件?
- java - Hibernate 中的多租户序列生成器
- vue.js - vue js中的换行符
- c - C 函数声明链接