我被要求“返回包含子集名称(作为字符串)和浮点数据值列表的元组列表”。
我的代码是:
def load_data(filename):
fileopen = open(filename)
result_open=[]
for line in fileopen:
answer = (line.strip().split(","))
result_open.append((answer[0],(answer[1:])))
return result_open
但是,当我运行代码时,会出现以下内容:
[('Slow Loris', [' 21.72', ' 29.3', ' 20.08', ' 29.98', ' 29.85', ' 26.22', ' 19......)]
有没有改变元组出现没有撇号?我希望它看起来像:
[('Slow Loris', [21.72, 29.3, 20.08, 29.98, 29.85, 6.22, 19......)]
答案 0 :(得分:1)
line
是一个字符串,line.strip().split(",")
是一个字符串列表。您需要将字符串值转换为float
或Decimal
值。一种方法是:
result_open.append((answer[0], [float(val) for val in answer[1:]]))
这会对无法转换为float的值引发异常,因此您应该考虑如何处理此类输入。