📜  Python|将字典值乘以常数

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

Python|将字典值乘以常数

有时,在使用字典时,我们可以有一个用例,我们需要将特定键的值乘以字典中的 K。这似乎是一个非常直接的问题,但是当不知道密钥的存在时会出现捕获,因此有时会变成两步过程。让我们讨论可以执行此任务的某些方式。

方法 #1:使用get()
get函数可用于将不存在的密钥初始化为 1,然后该产品是可能的。这样可以避免密钥不存在的问题。

# Python3 code to demonstrate working of
# Multiply Dictionary Value by Constant
# Using get()
  
# Initialize dictionary
test_dict = {'gfg' : 1, 'is' : 2, 'for' : 4, 'CS' : 5}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Initialize K 
K = 5
  
# Using get()
# Multiply Dictionary Value by Constant
test_dict['best'] = test_dict.get('best', 1) * K
      
# printing result 
print("Dictionary after the multiplication of key : " + str(test_dict))
输出 :
The original dictionary : {'for': 4, 'is': 2, 'CS': 5, 'gfg': 1}
Dictionary after the multiplication of key : {'for': 4, 'is': 2, 'CS': 5, 'best': 5, 'gfg': 1}

方法 #2:使用defaultdict()
这个问题也可以通过使用 defaultdict 方法来解决,该方法初始化潜在的键并且在键不存在的情况下不会抛出异常。

# Python3 code to demonstrate working of
# Multiply Dictionary Value by Constant
# Using defaultdict()
from collections import defaultdict
  
# Initialize dictionary
test_dict = defaultdict(int)
  
# printing original dictionary
print("The original dictionary : " + str(dict(test_dict)))
  
# Initialize K 
K = 5
  
# Using defaultdict()
# Multiply Dictionary Value by Constant
test_dict['best'] *= K
      
# printing result 
print("Dictionary after the multiplication of key : " + str(dict(test_dict)))
输出 :
The original dictionary : {}
Dictionary after the multiplication of key : {'best': 0}