[英]How to find the average of the list elements within a dictionary?
sweets = {'cadbury': [180,90], 'candy': [190],
'milk chocolate': [150, 160], 'dark chocolate': [100],
'white chocolate': [180], 'ice cream': [122]}
dict sweets 有不同的键和列表值对。 我想得到你的帮助来查找值列表中数字的平均值,并返回平均值最高的键为 output
您可以使用statistics.mean
计算平均值,并使用自定义键max
来获取具有最大平均值的键:
sweets = {'cadbury': [180,90], 'candy': [190], 'milk chocolate': [150, 160], 'dark chocolate': [100], 'white chocolate': [180],
'ice cream': [122]}
from statistics import mean
max(sweets, key=lambda x: mean(sweets[x]))
Output: 'candy'
使用 numpy 您可以尝试:
d = {x:np.mean(sweets[x]) for x in sweets}
返回:
{'cadbury': 135.0,
'candy': 190.0,
'dark chocolate': 100.0,
'ice cream': 122.0,
'milk chocolate': 155.0,
'white chocolate': 180.0}
并获得钥匙:
max(d, key=d.get)
返回:
'candy'
编写一个 for 循环来迭代 dict 中的每个键值。 然后编写内部循环来计算每个键的平均值。 首先必须将最大平均值设置为最小浮点值,然后如果值大于最小值将其设置为最大平均值,直到循环结束。
你也可以这样做:
out = max(sweets.items(), key=lambda x: (sum(x[1])/len(x[1]) if x[1] else 0))[0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.