修改dict值inp

2024-06-02 10:16:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将函数应用于dict中的dict的值(类似于函数编程设置中的map)。

假设我有这个dict

d = { 'a':2, 'b':3 }

我想将函数divide by 2.0应用于dict的所有值,从而:

d = { 'a':1., 'b':1.5 }

最简单的方法是什么?

我使用的是Python 3

编辑: 一班就好了。divide by 2只是一个例子,我需要函数是一个参数。


Tags: 方法函数编辑map参数by编程dict
3条回答

应该为你工作:

>>> d = {'a':2.0, 'b':3.0}
>>> for x in d:
...     d[x]/=2
... 
>>> d
{'a': 1.0, 'b': 1.5}

您可以循环访问密钥并更新它们:

for key, value in d.items():
    d[key] = value / 2

你可能会发现乘法仍然比除法快

d2 = {k: v * 0.5 for k, v in d.items()}

对于就地版本

d.update((k, v * 0.5) for k,v in d.items())

一般情况下

def f(x)
    """Divide the parameter by 2"""
    return x / 2.0

d2 = {k: f(v) for k, v in d.items()}

相关问题 更多 >