Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串的平均值&;字典(python)中缺少值_Python_String_Dictionary_Missing Data - Fatal编程技术网

字符串的平均值&;字典(python)中缺少值

字符串的平均值&;字典(python)中缺少值,python,string,dictionary,missing-data,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 = {

我有一个字典,而值是字符串类型。但是我想计算每个键的平均值,而空字符串是一个缺少的值。这是我的代码,只需要一个小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}

字典中的值不是字符串,而是字符串列表。如果我正确理解了您的问题(我不确定这一点),您的预期结果是
{'E':2.0,'M':1.5}
,对吗?是的,字符串列表。@Ashwini这看起来一点也不像是重复。OP显然知道如何迭代字典。@SvenMarnach@AshwiniChaudhary我明白了。不过,这只是问题的一部分。字典中的值不是字符串,而是字符串列表。如果我正确理解了您的问题(我不确定这一点),您的预期结果是
{'E':2.0,'M':1.5}
,对吗?是的,字符串列表。@Ashwini这看起来一点也不像是重复。OP显然知道如何迭代字典。@SvenMarnach@AshwiniChaudhary我明白了。不过,这只是问题的一部分。
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