将字典值从list转换为float

ney*_*mar 1 python

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

{
    'WA': [
        '47.3917',
        '-121.5708'
    ],
    'VA': [
        '37.7680',
        '-78.2057'
    ],
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

{
    'WA': [
        47.3917,
        -121.5708
    ],
    'VA': [
        37.7680,
        -78.2057
    ],
    ...
}
Run Code Online (Sandbox Code Playgroud)

我试过了

for key in location.keys():
    location[key] = float(location[key][0,1])
print location
Run Code Online (Sandbox Code Playgroud)

它给了我一个恐怖,"float()参数必须是一个字符串或数字"

我该如何解决这个问题?

the*_*eye 5

您可以使用字典理解来构造一个字典,其值已转换为浮点数,就像这样

print {k:map(float, locations[k]) for k in locations}
Run Code Online (Sandbox Code Playgroud)

正如@Grijesh在评论部分所建议的那样,如果您使用的是Python 3,

print({k:list(map(float, locations[k])) for k in locations})
Run Code Online (Sandbox Code Playgroud)