首页 > 解决方案 > 如何仅根据键中元组的一个元素对字典中的值求和?

问题描述

我有一个以元组为键的字典,如下所示:


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

标签: pythondictionarytuples

解决方案


用于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


推荐阅读