我有一本字典,比如mydict
,就像这样:
key1: list1
key2: list2
key3: list3
用平均值替换列表(值)的pythonic方法是什么(避免循环)?
答案 0 :(得分:5)
在Python 3中,您可以从mean
导入statistics
并使用词典理解:
>>> from statistics import mean
>>> d = {'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}
>>> d = {k:mean(v) for k,v in d.items()}
>>> d
{'a': 2.0, 'c': 8.0, 'b': 5.0}
答案 1 :(得分:4)
使用python dict comprehension
>>> mydict = {'a':[1.0, 2.0], 'b':[3.0, 4.0]}
>>> mydict = {k:float(sum(v))/len(v) for k, v in mydict.items()}
>>> mydict
{'a': 1.5, 'b': 3.5}