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}