将字典中的值从str强制转换为float

时间:2019-07-02 08:50:44

标签: python list dictionary key

我一直在尝试查看其他问题,但没有发现任何对我有用的东西。我有一个if字典(行程)的列表,想要访问行程列表中每个词典中的值,并将其从字符串转换为float。

如果我旅行[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}

不断得到

  

“功能”对象不可下标”

OR

  

“ NoneType”对象不可下标

2 个答案:

答案 0 :(得分:2)

如果您要从字典中覆盖值,则应执行类似的操作

def float_values(trips):

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

    return trips

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

答案 1 :(得分:1)

只需要做的就是更改字典中的值:

for list_dict in list_of_dicts:
    for key, value in list_dict.items():
        list_dict[key] = float(value)