Python – 值列表均值
有时,在使用Python字典值时,我们可能会遇到需要找到所有字典值列表的所有值的平均值的问题。这个问题可以在许多领域都有应用,包括 Web 开发。让我们讨论一些可以解决这个问题的方法。
Input : test_dict = {‘best’: [11, 21], ‘Gfg’: [7, 5]}
Output : {‘best’: 16.0, ‘Gfg’: 6.0}
Input : test_dict = {‘Gfg’ : [9]}
Output : {‘Gfg’: 9.0}
方法 #1:使用循环 + sum() + len()
上述功能的组合可以用来解决这个问题。在此,我们使用 sum() 计算所有值的总和,使用 len() 计算所有值列表长度。迭代是使用循环完成的。
# Python3 code to demonstrate working of
# Value list mean
# Using loop + sum() + len()
# initializing dictionary
test_dict = {'Gfg' : [6, 7, 5, 4], 'is' : [10, 11, 2, 1], 'best' : [12, 1, 2]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Value list mean
# Using loop + sum() + len()
res = dict()
for key in test_dict:
res[key] = sum(test_dict[key]) / len(test_dict[key])
# printing result
print("The dictionary average is : " + str(res))
The original dictionary is : {‘is’: [10, 11, 2, 1], ‘best’: [12, 1, 2], ‘Gfg’: [6, 7, 5, 4]}
The dictionary average is : {‘is’: 6.0, ‘best’: 5.0, ‘Gfg’: 5.5}
方法#2:使用字典理解
这是可以执行此任务的另一种方式。这是简写,借助它可以类似于上述方法执行此任务。
# Python3 code to demonstrate working of
# Value list mean
# Using dictionary comprehension
# initializing dictionary
test_dict = {'Gfg' : [6, 7, 5, 4], 'is' : [10, 11, 2, 1], 'best' : [12, 1, 2]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Value list mean
# Using dictionary comprehension
res = {key: sum(val) / len(val) for key, val, in test_dict.items()}
# printing result
print("The dictionary average is : " + str(res))
The original dictionary is : {‘is’: [10, 11, 2, 1], ‘best’: [12, 1, 2], ‘Gfg’: [6, 7, 5, 4]}
The dictionary average is : {‘is’: 6.0, ‘best’: 5.0, ‘Gfg’: 5.5}