我有一个元组字典如下:
tupledict = {('A','B','C'):2, ('A',): 3, ('B',) :4, ('C',): 5}
目前,第一个元组是 2,但我希望它从各个元组中读取值,以给出正确的 12 之和。
所以输出应该是:
tupledict = {('A','B','C'):12, ('A',): 3, ('B',) :4, ('C',): 5}
这是怎么做到的?
请您参考如下方法:
您可以使用字典理解来构建新的字典:
>>> tupledict = {('A','B','C'): 2, ('A',): 3, ('B',): 4, ('C',): 5}
>>> {t: sum(tupledict.get((x,), 0) for x in t) for t in tupledict}
{('A', 'B', 'C'): 12, ('A',): 3, ('B',): 4, ('C',): 5}
使用 tupledict.get() 而不是索引处理缺少 1 元组的情况。
