2015-08-22 91 views
0

字典值列表我有一本字典,說mydict,像這樣:替換平均

key1: list1 
key2: list2 
key3: list3 

什麼是他們的平均值(避免for循環)替換列表(值)的Python的方式?

+0

您的列表中沒有'int'或'float'的名單?請顯示一些示例數據。 – luoluo

回答

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} 
5

在Python 3,你可以從statistics導入mean和使用字典理解:

>>> 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}