2015-08-22 2 views
0

У меня есть словарь, скажем mydict, как это:Заменить список словаря значений со средним

key1: list1 
key2: list2 
key3: list3 

, что это вещий способ замены списков (значения) с их средними (избегая для петель)?

+0

Ваш список не список '' int' или float'? Покажите некоторые данные образца. – luoluo

ответ

4

использование питона 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 вы можете импортировать 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} 
Смежные вопросы