TypeError: 'float' object is not iterable trying to convert number to float

TypeError: 'float' object is not iterable trying to convert number to float

我意识到这个错误已经在网站上发布了好几次,但是 none 的解决方案似乎对我的问题有效。我想通过索引从我的列表(由 0.0-1.0 之间的数字组成,称为数字)中调用元素,最初 owlready 允许我从 ontology 中获取 classes ,我不得不将它们转换几次以获得一个被认为是 ontology 中的子 class 的值(例如,0.6)。

我还想问一下,这种将 classes 名称转换为数字的方法是否正确。第一个列表(值)中的元素如下所示:melanoma_color.0.6(其中 melanoma_color 是 class,0.6 是子 class)我只感兴趣在子class - 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]))

显然,您不能将浮点数传递给 list()。尝试 list((numbers[0],))

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