Python – 选择性键值求和
有时,在使用Python字典时,我们可能会遇到一个问题,即我们希望获得字典中某些键值的总和。这种应用程序可以在许多领域都有用例,例如日间编程。让我们讨论可以执行此任务的某些方式。
Input : test_dict = {‘Gfg’ : 4, ‘is’ : 2, ‘best’ : 7}, key_list = [‘Gfg’, ‘best’]
Output : 11
Input : test_dict = {‘Gfg’ : 4, ‘best’ : 7}, key_list = [‘Gfg’]
Output : 4
方法#1:使用循环
这是可以执行此任务的方式之一。在此,我们迭代目标列表键并对字典中的相应值求和。
# Python3 code to demonstrate working of
# Selective Key Values Summation
# Using loop
# initializing dictionary
test_dict = {'Gfg' : 4, 'is' : 2, 'best' : 7, 'for' : 9, 'geeks' : 10}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing keys_list
key_list = ['Gfg', 'best', 'geeks']
# Selective Key Values Summation
# Using loop
res = 0
for key in key_list:
res += test_dict[key]
# printing result
print("The keys summation : " + str(res))
输出 :
The original dictionary is : {'Gfg': 4, 'is': 2, 'best': 7, 'for': 9, 'geeks': 10}
The keys summation : 21
方法 #2:使用sum()
+ 列表推导
上述功能的组合可以用来解决这个问题。在此,我们使用 sum() 执行求和,列表推导用于执行迭代任务。
# Python3 code to demonstrate working of
# Selective Key Values Summation
# Using sum() + list comprehension
# initializing dictionary
test_dict = {'Gfg' : 4, 'is' : 2, 'best' : 7, 'for' : 9, 'geeks' : 10}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing keys_list
key_list = ['Gfg', 'best', 'geeks']
# Selective Key Values Summation
# Using sum() + list comprehension
res = sum([test_dict[key] for key in key_list])
# printing result
print("The keys summation : " + str(res))
输出 :
The original dictionary is : {'Gfg': 4, 'is': 2, 'best': 7, 'for': 9, 'geeks': 10}
The keys summation : 21