问题描述
我有一个key:("string",int)
格式的字典,正在从不同的起始位置进行迭代。
每次迭代都成功完成了很多事情,但是,我想提取整个字典的整数值的总和以及从字典开头到“起始位置”的整数值的总和。 '。
像我对total_sum
所做的那样,有没有办法通过理解来做到这一点?或者这已经是实现这一目标的最有效方法?
谢谢。
代码:
fruit_dict = {
"a":("apple",64),"b":("pear",100),"c":("orange",44),"d": ("lettuce",4930),"e": ("blueberries",37),"f": ("tomatoes",75)
}
start = 2 # this is the starting position
lst_fruit_dict = list(fruit_dict)[start:]
total_sum = sum(v[1] for k,v in fruit_dict.items())
partial_sum = 0
for i in lst_fruit_dict: # Partial Sum calculator (the bit I am trying to get more efficient)
partial_sum += fruit_dict[i][1]
解决方法
sum(x[1] for x in list(fruit_dict.values())[start:])