列表元素周围的单引号应该是浮点数

时间:2015-08-31 01:56:43

标签: python list tuples

我被要求“返回包含子集名称(作为字符串)和浮点数据值列表的元组列表”。

我的代码是:

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......)]

1 个答案:

答案 0 :(得分:1)

line是一个字符串,line.strip().split(",")是一个字符串列表。您需要将字符串值转换为floatDecimal值。一种方法是:

result_open.append((answer[0], [float(val) for val in answer[1:]]))

这会对无法转换为float的值引发异常,因此您应该考虑如何处理此类输入。