TypeError:'float'对象不可迭代尝试将number转换为float

时间:2017-04-27 17:18:48

标签: python list python-3.x owlready

我意识到这个错误已在网站上多次发布,但没有一个解决方案似乎适用于我的问题。我想通过索引调用我的列表中的元素(由0.0-1.0之间的数字组成,并且被称为数字),原来owlready允许我从本体获取类,我不得不将它们转换几次获得一个被认为是本体中子类的值(例如,0.6)。

我还想问一下,将类名转换为数字的这种方法是否是正确的做事方式。第一个列表(值)中的元素如下所示:melanoma_color.0.6(其中melanoma_color是类,0.6是子类)我只对子类感兴趣 - 0.6。

from owlready import *

onto_path.append("C:/Users/Angelo/Desktop/Ontologia")
onto = get_ontology("http://localhost:8080/Melanoma_Names.owl").load()

values = list()
stringValues = list()
numbers = list()

test_melanoma = onto.Melanoma_Colors
for item in onto.subclasses_of(test_melanoma):
values.append(item)

for item in values:
    stringValues.append(str(item))
del stringValues[-1:]

for x in stringValues:
     numbers = [ float(x) for x in stringValues]

print(list(numbers[0]))

1 个答案:

答案 0 :(得分:2)

显然,您无法将浮动传递给list()。试试list((numbers[0],))

编辑:你为什么要做print(list(...))?你可以print(numbers[0])