Python|选择性密钥求和
有时在使用Python字典时,我们可能会遇到一个问题,我们需要对字典中的选择性键值求和。此问题可能发生在 Web 开发领域。让我们讨论一些可以解决这个问题的方法。
方法 #1:使用列表推导 + get() + sum()
上述功能的组合可用于执行此特定任务。在此,我们使用 get 方法访问值并使用列表推导遍历字典。我们使用 sum() 进行求和。
# Python3 code to demonstrate working of
# Selective Keys Summation
# Using list comprehension + get() + sum()
# Initialize dictionary
test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Initialize key list
key_list = ['gfg', 'best', 'CS']
# Using list comprehension + get() + sum()
# Selective Keys Summation
res = sum([test_dict.get(key) for key in key_list])
# printing result
print("The summation of Selective keys : " + str(res))
输出 :
The original dictionary : {'CS': 5, 'best': 3, 'is': 2, 'gfg': 1, 'for': 4}
The summation of Selective keys : 9
方法 #2:使用itemgetter() + sum()
这个单一的函数可以用来执行这个特定的任务。它内置执行此特定任务。它接受键链并将相应的值作为可以进行类型转换的元组返回。我们使用 sum() 进行求和。
# Python3 code to demonstrate working of
# Selective Keys Summation
# Using itemgetter() + sum()
from operator import itemgetter
# Initialize dictionary
test_dict = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Initialize key list
key_list = ['gfg', 'best', 'CS']
# Using itemgetter() + sum()
# Selective Keys Summation
res = sum(list(itemgetter(*key_list)(test_dict)))
# printing result
print("The summation of Selective keys : " + str(res))
输出 :
The original dictionary : {'CS': 5, 'best': 3, 'is': 2, 'gfg': 1, 'for': 4}
The summation of Selective keys : 9