Python尝试去除单引号

0 投票
2 回答
1307 浏览
提问于 2025-04-17 01:04

我正在使用一个叫做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(浮点数)。

撰写回答