如何找到字典中列表元素的平均值?

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 有不同的键和列表值对。我想得到你的帮助,找出值列表中数字的平均值,return 输出平均值最高的键

您可以尝试使用 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'

您可以使用 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]))

输出: 'candy'

写一个for循环来迭代字典中的每个键值。然后编写内循环来计算每个键的平均值。首先必须将最大平均值设置为最小浮点值,然后如果值大于最小值,则将其设置为最大平均值,直到循环结束。