Python 返回字典列表中特定键的平均值

Python 返回字典列表中特定键的平均值,python,python-3.x,dictionary,iterator,iteration,Python,Python 3.x,Dictionary,Iterator,Iteration,这可能是重复的,因此如果我没有找到任何东西,请告诉我。 我的问题在标题里 我知道下面的代码可以做到这一点,但我不认为应该这样做。这可以压缩成一个更干净的函数来做同样的事情吗?那么内置函数呢 def find_sorted_avg(dict_list, key): total = 0 for item in dict_list: total += item[key] return total / len(dict_list) 如果您知道更好的方法,请告

这可能是重复的,因此如果我没有找到任何东西,请告诉我。

我的问题在标题里

我知道下面的代码可以做到这一点,但我不认为应该这样做。这可以压缩成一个更干净的函数来做同样的事情吗?那么内置函数呢

def find_sorted_avg(dict_list, key):
    total = 0

    for item in dict_list:
        total += item[key]

    return total / len(dict_list)

如果您知道更好的方法,请告诉我。

您想对DICT列表中的
键的所有值求和

您可以将生成器的理解输入到
sum
,然后除以列表的长度,在一行中:

total = sum(item.get(key,0) for item in dict_list) / len(dict_list)
get(key,0)
确保如果一个dict中没有该键,它仍能工作(当该键不在字典中时发出0)


(当然,如果您想让它大声崩溃,请替换
item.get(key,0)
by
item[key]

您想将dict列表中
键的所有值相加

您可以将生成器的理解输入到
sum
,然后除以列表的长度,在一行中:

total = sum(item.get(key,0) for item in dict_list) / len(dict_list)
get(key,0)
确保如果一个dict中没有该键,它仍能工作(当该键不在字典中时发出0)


(当然,如果您想让它大声崩溃,请替换
item.get(key,0)
by
item[key]

您能提供一个
dict\u list
的示例,以及您期望的输出是什么吗?如果此代码有效,您可能需要签出。应该更好:
total=sum(dict_列表中的项的项[key])/len(dict_列表)
您的意思是
total+=item[key]
@jacoblaw!已编辑(否则无效)谢谢您的编辑。那是个打字错误。我接受了你的回答,这似乎是完成这项工作最“通灵”的方式。你能提供一个
dict\u list
的示例,以及你期望的输出结果吗?如果此代码有效,您可能需要签出。应该更好:
total=sum(dict_列表中的项的项[key])/len(dict_列表)
您的意思是
total+=item[key]
@jacoblaw!已编辑(否则无效)谢谢您的编辑。那是个打字错误。我接受了你的答案,这似乎是完成这件事最“疯狂”的方式。好吧,这已经超过了OP的要求。我已经编辑了我的帖子(“解释”可能是不好的措辞)好吧,这已经超过了OP的要求。我已经编辑了我的帖子(“解释”可能是不好的措辞)