对于两个字符串:-ValueError:无法将字符串转换为浮点型

时间:2019-06-09 09:37:38

标签: python python-3.x jupyter-notebook

我需要分别将浮点平均值作为这两个字符串的字符串

text = ''
text += '5.33 6.22 7.66 8.33 3.44' '55.22 3.333 4.555'
num_x = list(map(float, filter(None, text.split(' '))))
x =str(sum(num_x) / float(len(num_x)))

x
ValueError: could not convert string to float: '3.4455.22'

预期输出:

'6.196' '4.3693333333333335'

2 个答案:

答案 0 :(得分:1)

字符串之间应用逗号分隔,否则它们将连续出现

def avg(t):
    num_x =list(map(float, t.split(' ')))
    return str(sum(num_x) / len(num_x))
text = '5.33 6.22 7.66 8.33 3.44','5.22 3.333 4.555'
text=[avg(i) for i in text]
print(text)
#['6.196', '4.3693333333333335']

答案 1 :(得分:0)

我认为您不小心写了

text += '5.33 6.22 7.66 8.33 3.44' '55.22 3.333 4.555'

您不能像这样连接两个单独的字符串,您可以尝试

text = "{}{} {}".format(text,'5.33 6.22 7.66 8.33 3.44', '55.22 3.333 4.555')