首页 > 解决方案 > 将字典中的值从 str 转换为 float

问题描述

我一直在尝试查看其他问题,但没有找到任何对我有用的东西。我有一个 if 字典(旅行)列表,并且想要访问旅行列表中每个字典中的值,并将 if 从字符串转换为浮点数。

如果我旅行 [0] 输出是:

# {'pickup_latitude': '40.64499',
#  'pickup_longitude': '-73.78115',
#  'trip_distance': '18.38'}

我正在尝试构建一个遍历字典列表、访问值并将它们传输到浮点数的函数。

我尝试了以下代码的各种版本,包括尝试构建一个新字典并返回它

def float_values(trips):
    for trip in trips:
        for key, value in trip.items():
            value = float(value)
        return

float_values[0] 应该输出:

# {'pickup_latitude': 40.64499,
#  'pickup_longitude': -73.78115,
#  'trip_distance': 18.38}

不断得到

'function' 对象不可下标'

或者

“NoneType”对象不可下标

标签: pythonlistdictionarykey

解决方案


如果你要从字典中覆盖你的值,你应该做这样的事情

def float_values(trips):

    for trip in trips:
        for key, value in trip.items():
            trip[key] = float(value)

    return trips

通过这样做value = float(value),您正在编写临时浮点值而不是将其保存在任何地方


推荐阅读