use*_*676 2 python dictionary division
我有一本字典 dict1,格式如下:
{0: 301, 1: 410, 2: 289}
Run Code Online (Sandbox Code Playgroud)
我有另一本字典,dict2:
{0: 5307, 2: 4925}
Run Code Online (Sandbox Code Playgroud)
我想根据键将 dict2 的值除以 dict1 的值。例如 5307 将被 301 除,因为它们的键都是 0。有什么建议吗?
>>> d1 = {0: 301, 1: 410, 2: 289}
>>> d2 = {0: 5307, 2: 4925}
>>> {k: d2[k] / float(d1[k]) for k in d1 if k in d2}
{0: 17.631229235880397, 2: 17.041522491349482}
Run Code Online (Sandbox Code Playgroud)
如果您的 Python(例如 2.6)对于 dict 理解来说太旧了,您可以使用
>>> dict((k, d2[k] / float(d1[k])) for k in d1 if k in d2)
{0: 17.631229235880397, 2: 17.041522491349482}
Run Code Online (Sandbox Code Playgroud)
如果你的 Python 比 2.6 还要老
>>> dict([(k, d2[k] / float(d1[k])) for k in d1 if k in d2])
{0: 17.631229235880397, 2: 17.041522491349482}
Run Code Online (Sandbox Code Playgroud)
在 Python3 中,您不需要float调用
>>> {k: d2[k] / d1[k] for k in d1 if k in d2}
{0: 17.631229235880397, 2: 17.041522491349482}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4377 次 |
| 最近记录: |