将逗号分隔的键值对字符串转换为字典

use*_*704 4 python dictionary python-3.x

我需要将逗号分隔的字符串与由冒号分隔的键值对转换为字典,其中值应该是浮点数.我能够做到这一点来得到一个字典:

>>> s = 'us:0.9,can:1.2,mex:0.45'
>>> dict(x.split(':') for x in s.split(','))
Run Code Online (Sandbox Code Playgroud)

这导致:

{'us': '0.9', 'can': '1.2', 'mex': '0.45'}
Run Code Online (Sandbox Code Playgroud)

但不知道如何强制该值不是一个字符串,即我期待这个:

{'us': 0.9, 'can': 1.2, 'mex': 0.45}
Run Code Online (Sandbox Code Playgroud)

如何强制值浮动?

谢谢!

g.d*_*d.c 12

怎么样:

{k: float(v) for k, v in [i.split(':') for i in s.split(',')]}
Run Code Online (Sandbox Code Playgroud)