📜  Python|选择性密钥求和

📅  最后修改于: 2022-05-13 01:55:34.264000             🧑  作者: Mango

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