首页 > 解决方案 > 如何在嵌套元组中找到总和

问题描述

编写一个 python 程序来定义一个元组以在一个子元组中接受 3 个食品详细信息,例如产品名称及其价格和到期日期,然后 找到所有具有相同到期日期的产品的价格总和。

t=(('CAKE', (748.0, '07-09-2020')), ('JELLY', (12.0, '07-09-2020')), ('CREAM', (244.0, '03-11-2020')))

然后,输出应该是

TOTAL PRICE:760
t=(('CAKE', (748.0, '07-09-2020')), ('JELLY', (12.0, '07-09-2020')), ('CREAM', (244.0, '03-11-2020')))
l=list(t);total=0
for i in range(0,len(l)):
    check=l[i][1][1]
    c=l.count(check)
    if c>1:
        total+=l[i][1][0]
print(total)

怎么解决 ??

标签: pythontuplesswap

解决方案


就像是

from collections import defaultdict

t=(('CAKE', (748.0, '07-09-2020')), ('JELLY', (12.0, '07-09-2020')), ('CREAM', (244.0, '03-11-2020')))

data = defaultdict(int)
for entry in t:
        data[entry[1][1]] += entry[1][0]
print(data)

输出

defaultdict(<class 'int'>, {'07-09-2020': 760.0, '03-11-2020': 244.0})

推荐阅读