Python尝试去除单引号
我正在使用一个叫做CityEngine的程序,它里面有个Python的部分。
问题是:我刚刚对一个对象调用了一个函数,它返回了一个数字列表,叫做xyz。我把xyz拆分成了各自的名字。我还调用了另一个函数来获取与这个对象相关的不同属性,以替换之前获取的y值。
现在,当我打印y值时,它只包含数字字符,除了小数点之外。当我把y值放进一个新列表时,它的值周围有一个单引号。
举个例子,打印(y)会返回5.0000000。
如果我把它放成这样position[x,y,z],我打印position时会得到[0, '5.000000' , 0]。程序无法读取单引号,所以完全忽略了这个值。
我试过用.remove("'","")和.strip(),但都没用。
希望能得到一些帮助。
谢谢。
2 个回答
2
这看起来像是这个函数返回的不是数字,而是字符串。为了处理这个问题,你需要用 int()
或 float()
来把字符串转换成数字。
一般来说,当你对某个列表使用 print(l)
时,列表里的每个项目都会用它的 __repr__
方法的输出结果来打印。按照惯例,字符串的 __repr__
方法会把字符串用单引号包起来,而数字则不会。这是为了避免产生歧义。因此,如果 print(l)
返回了
[0, '5.00000', 0.1]
那么这个列表里就包含了一个 int
(整数)、一个 str
(字符串)和一个 float
(浮点数)。