是否有更有效的方法从给定数量的字典值中提取部分和?
Is there a more efficient way of extracting a partial sum from a given number of dictionary values?
我有一个格式为 key:("string", int)
的字典,我正在从不同的起始位置迭代它。
每次迭代都会成功发生很多事情,但是,我想提取整个字典的整数值总和以及从字典开头到 'starting position'.
有没有办法像我对 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:])
我有一个格式为 key:("string", int)
的字典,我正在从不同的起始位置迭代它。
每次迭代都会成功发生很多事情,但是,我想提取整个字典的整数值总和以及从字典开头到 'starting position'.
有没有办法像我对 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:])