有没有更有效的方法从给定数量的字典值中提取部分和?

问题描述

我有一个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:])