Python пытается удалить один апостроф - PullRequest
0 голосов
/ 01 сентября 2011

Я использую программу под названием CityEngine, в которой есть элемент python.

Проблема: я только что вызвал функцию для объекта и возвращает мне список чисел, xyz. Я разделил XYZ на их собственные имена. Я также вызываю функцию для извлечения другого атрибута, связанного с этим объектом, чтобы заменить ранее полученное значение y.

Теперь, когда я печатаю значение y, оно содержит только числовые символы, кроме десятичного знака. Когда я включаю значение y в новый список, его значение окружено одним апострофом.

Например, print (y) возвращает 5.0000000

Если я размещу его так, как эта позиция [x, y, z], я получу отпечаток (позицию) [0, '5.000000', 0]. Программа не может прочитать отдельные апострофы, поэтому полностью игнорирует значение.

Я пробовал .remove ("'", "") и .strip () и ничего.

Любая помощь будет оценена.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Это выглядит так, как если бы функция возвращала не число, а строку.Таким образом, чтобы справиться с этим, вам придется преобразовать строку, используя int() или float().

В общем, если вы делаете print(l) в каком-то списке элементов, каждыйэлемент будет напечатан с выводом его метода __repr__.Согласно соглашению, метод __repr__ строки переносит строку с одним апострофом, тогда как числа не переносятся.Это должно устранить потенциальную двусмысленность.Следовательно, print(l), который возвратил

[0, '5.00000', 0.1]

, будет списком, содержащим int, str и float.

0 голосов
/ 01 сентября 2011

Преобразовать его в число с плавающей точкой ... Это строка, поэтому вам нужно выполнить преобразование строки в число с плавающей точкой

...