我在这样的字典中嵌套了一个元组
record = {1: ('kg', '2003, 06, 05', 12)}
record[2] = ('kg', '2008, 06, 05',40)
我需要在字典中添加所有元组的所有kg值,但我不知道如何访问值12和40。
答案 0 :(得分:1)
给出:
record = {1: ('kg', '2003, 06, 05', 12)}
record[2] = ('kg', '2008, 06, 05',40)
然后我们有
record = {
1: ('kg', '2003, 06, 05', 12),
2: ('kg', '2008, 06, 05',40)
}
因此您可以sum([t[-1] for t in record.values()])
values
方法返回字典所有值的可迭代值。 sum
只是将可迭代元素的所有元素相加。
此列表理解只是:“对于记录值中的每个元组,将元组的最后一个对象添加到列表中”
我们得到sum([12, 40])
,所以它得到了52
编辑:使用-1
总是返回最后一个对象,并且可以使用任意长度
答案 1 :(得分:0)
record: {1: ('kg', '2003, 06, 05', 12), 2: ('kg', '2008, 06, 05', 40)}
kg_sum = 0
record_values = record.values() # [('kg', '2003, 06, 05', 12), ('kg', '2008, 06, 05', 40)]
for record_value in record.values():
kg_value = record_value[-1]
kg_sum += kg_value # equivalent to kg_sum = kg_sum + kg_value