0

我正在使用一个名为 CityEngine 的程序,它有一个 python 元素。

问题:我刚刚在一个对象上调用了一个函数,并返回了一个数字列表 xyz。我将 xyz 拆分为他们自己的名字。我还调用了一个函数来检索与此对象相关的不同属性,以替换先前检索到的 y 值。

现在,当我打印 y 值时,它只包含小数位以外的数字字符。当我将 y 值合并到一个新列表中时,它的值周围有一个撇号。

例如, print(y) 返回 5.0000000

如果我把它放在这个位置 [x,y,z] 我得到 [0, '5.000000' , 0] 的打印(位置)。该程序无法读取单个撇号,因此完全忽略了该值。

我试过 .remove("'","") 和 .strip() 什么都没有。

任何帮助,将不胜感激。

谢谢。

4

2 回答 2

2

这看起来更像是函数返回的不是数字而是字符串。因此,为了处理它,您必须使用int()或转换字符串float()

通常,如果您print(l)对某些项目列表执行 a 操作,则每个项目都将与其__repr__方法的输出一起打印。约定字符串的__repr__方法用单个撇号包装字符串,而数字不被包装。这是为了消除潜在的歧义。因此, aprint(l)返回

[0, '5.00000', 0.1]

将是一个包含 a int、 astr和 a的列表float

于 2011-09-01T12:38:26.773 回答
0

将其转换为浮点数...它是一个字符串,因此您需要进行字符串到浮点数的转换

于 2011-09-01T12:49:41.993 回答