我正在使用一个名为CityEngine的程序,它有一个python元素。
问题:我刚刚在一个对象上调用了一个函数,并返回一个数字列表xyz。我把xyz分成了自己的名字。我还调用一个函数来检索与该对象相关的不同属性,以替换先前检索的y值。
现在,当我打印y值时,它只包含除小数点之外的数字字符。 当我将y值合并到一个新列表中时,它的值在它周围有单个撇号。
例如,print(y)返回5.0000000
如果我把它放在这个位置[x,y,z],我得到[0,'5.000000',0]的打印(位置)。程序无法读取单个撇号,因此完全忽略了该值。
我已经尝试过.remove(“'”,“”)和.strip()等等。
任何帮助将不胜感激。
感谢。
答案 0 :(得分:2)
看起来好像函数没有返回数字而是字符串。因此,为了处理它,您必须使用int()
或float()
转换字符串。
通常,如果您对某些项目列表执行print(l)
,则每个项目都将使用其__repr__
方法的输出进行打印。惯例是,__repr__
字符串方法用单个撇号包装字符串,而数字不会被包裹。这是为了消除潜在的歧义。因此,返回了print(l)
[0, '5.00000', 0.1]
将是一个包含int
,str
和float
的列表。
答案 1 :(得分:0)
将其转换为float ...它是一个字符串,因此您需要执行字符串到浮点转换