列表列表:循环将字符串转换为浮点数

最大限度

我有一个类型为: 的数据对象list[lists['string', 'string', floats]],但实际上浮点数也是字符串,我想将其转换为浮点数。我尝试了以下方法,但由于某种原因,它仍然循环遍历内部列表中的前两个元素,但 if 语句似乎正确?有谁知道我做错了什么?

list_of_lists = [
    ['bla1', 'bla2', '1.', '2.', '3.', '4.'],
    ['bla3', 'bla4', '5.', '6.', '7.', '8.']
    ]

for idx_datapoint, datapoint in enumerate(list_of_lists):
    print(f'{datapoint = }')
    for idx_feature, feature_val in enumerate(datapoint):
        if idx_feature in (0, 1):
            print(f'{idx_feature = }, {feature_val = }')
            print(f'{float(feature_val) = }')
            list_of_lists[idx_datapoint][idx_feature] = float(feature_val)

提前谢谢你的帮助!!我想我忽略了一些小东西,所以提前抱歉:D

国王塔萨兹

请记住,列表的某些值中包含字母,因此它们不能更改为浮点数。除此之外,我会这样做:

list_of_lists = [
    ['bla1', 'bla2', '1.', '2.', '3.', '4.'],
    ['bla3', 'bla4', '5.', '6.', '7.', '8.']
    ]

for i, list in enumerate(list_of_lists):
    for i2, v in enumerate(list):
        try:
            list_of_lists[i][i2] = float(v)
        except ValueError:
            pass  # change to whatever you want to do if you cant change it

我刚刚测试了它,它似乎工作正常。只需将“通过”行更改为您想要对其中包含字母的值执行的任何操作(例如删除它们或删除字母)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章