寻找最简单的方法来执行列表中常用词典的平均值

Looking for easiest way to perform average of common dictionaries in a list

我有一个字典列表,例如

list1 = [{'a':[10,2],'b':[20,4]}, {'a':[60,6],'b':[40,8]}]

正在尝试将最终输出设为

list1 = [{'a':[35,4],'b':[30,6]}]

我试图获取每个字典中每个键的值列表,并根据列表的长度对它们进行平均,然后放入新字典中。

不确定执行此操作的最佳/最 pythonic 方式。

非常感谢任何帮助。

有很多不同的方法可以做到这一点。一个简单的迭代每个键,每个内部索引,并计算存储到新字典的平均值:

from pprint import pprint

list1 = [
    {'a': [10, 2], 'b': [20, 4]},
    {'a': [60, 6], 'b': [40, 8]},
]

means = {}

for key in list1[0]:
    key_means = []
    means[key] = key_means
    for index in range(len(list1[0][key])):
        key_means.append(
            sum(
                ab_dict[key][index]
                for ab_dict in list1
            ) / len(list1)
        )

pprint(means)

此实现假定第一行中出现的键在所有其他行中统一表示。