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)
byitem[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)
byitem[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的要求。我已经编辑了我的帖子(“解释”可能是不好的措辞)