字符串和平均值字典中缺少值(python)

时间:2017-08-18 09:24:37

标签: python string dictionary missing-data

我有一个字典,而值是字符串类型。但我想计算每个键的平均值,而空字符串是一个缺失值。这里是我的代码只需要一个小的twerk就可以了......有错误:int()参数必须是字符串或数字,而不是'list'

dic = {'E': ['1', '', '3'], 'M': ['2', '', '1']}
for k,n in dic.items():
    k = [0]
    n = [1]

D = {k: (int(n)) for k, n in dic.items() if n}
ave = {k:sum(D)/float(len(D))} if D else '-'
print ave

预期产量: {'E':2,'M':1.5}

1 个答案:

答案 0 :(得分:0)

dic = {'E': ['1', '', '3'], 'M': ['2', '', '1']}
ave = dict()
for k in dic:
   nonempty = [ float(v) for v in dic[k] if v != '' ]
   ave[k] = sum(nonempty) / len(nonempty)
print ave