Python值错误:无法将字符串转换为浮点数

zujrkrfu  于 2022-12-10  发布在  Python
关注(0)|答案(1)|浏览(327)
line = 'f 1// 2// 3// 4//'
vertices = []
line = line.split(" ")
toks = line[1:]

for vertex in toks:
    l = vertex.split("/")
    #print(l)
    l = np.array[float(x) for x in l]).astype(_DT)
    position = (l[0])
    vertices.append(position)

print(vertices)

这是正确的输出['1','2','3','3']!但我得到一个“ValueError无法将字符串转换为浮点型:“在这一行l = np.array[float(x)for x in l]).astype(_DT),但没有前导或尾随空格,不确定如何处理此错误!!
当执行打印(l)时,我得到['1','']['2','']['3','']['4','']
我试着在网上使用.strip(),但是没有任何作用。我也试着用replace(““,““)也没有任何作用。我找不到真正的问题在哪里。我如何识别哪里白色?我如何删除'?

l0oc07j2

l0oc07j21#

你可以在数组解析中使用if来跳过空字符串。你可以利用这样一个事实:空字符串的值为false,而任何非空字符串的值都为true:

[float(x) for x in l if x]

相关问题