Skip to main content
 首页 » 编程设计

python之将字典的值从列表转换为 float

2025年05月04日11lexus

我有一个名为“location”的字典,如下所示:

{ 
    'WA': [ 
        '47.3917', 
        '-121.5708' 
    ], 
    'VA': [ 
        '37.7680', 
        '-78.2057' 
    ], 
    ... 
} 

我想转换成一个值为 float 的dic,所以它看起来像:

{ 
    'WA': [ 
        47.3917, 
        -121.5708 
    ], 
    'VA': [ 
        37.7680, 
        -78.2057 
    ], 
    ... 
} 

我试过了

for key in location.keys(): 
    location[key] = float(location[key][0,1]) 
print location 

它给了我一个警告,“float() 参数必须是一个字符串或一个数字”

我该如何解决?

请您参考如下方法:

您可以使用字典推导式来构造一个字典,将值转换为 float ,如下所示

print {k:map(float, locations[k]) for k in locations} 

根据 @Grijesh in the comments section 的建议,如果您使用的是 Python 3,

print({k:list(map(float, locations[k])) for k in locations})