Pyd*_*man 0 python dictionary key-value python-2.7 dictionary-comprehension
我想转换成floats的string值(应该已经被表示为浮动原本)在以下字典:
{'a': '1.3', 'b': '4'}
Run Code Online (Sandbox Code Playgroud)
如果我尝试词典理解:
{k:float(v) for v in d.values()}
Run Code Online (Sandbox Code Playgroud)
我最终得到了dict中的第二项:
In [191]: {k:float(v) for v in d.values()}
Out[191]: {'b': 4.0}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
使用d.items(),您还需要通过变量分别引用键,值.这里k指的是键并v引用该值.
{k:float(v) for k,v in d.items()}
Run Code Online (Sandbox Code Playgroud)
例:
>>> d = {'a': '1.3', 'b': '4'}
>>> {k:float(v) for k,v in d.items()}
{'a': 1.3, 'b': 4.0}
Run Code Online (Sandbox Code Playgroud)