【发布时间】:2015-07-31 16:52:05
【问题描述】:
我必须计算字典值列表的平均值:
d={('a'):['-','-',3.2],
('b'):[4.8,6.7],
('c'):['-'],
('d'):[6.7,'-',9.8,'-']}
我想要:
d={('a'):[3.2],
('b'):[5.75],
('c'):['-'],
('d'):[8.25]}
这是我使用的代码:
avgd={}
for key, v in d.iteritems():
try:
avgd[key]=sum(v)/(len(v))
except TypeError:
avgd[key]='-'
但我只得到列表仅由数字组成的平均值。 如何避免这个问题?
【问题讨论】:
-
非数字项总是是破折号吗?
-
在旁注中,您似乎正在尝试实现 numpy.xml 中的掩码数组所涵盖的功能。如果您的实际问题稍微复杂一些,您可能希望研究一下。
-
@SuperBiasedMan,是的,他们总是破折号
标签: python list dictionary average