如何在Julia中将字典值设置为零

如何在Julia中将字典值设置为零,julia,Julia,我想将字典的所有值设置为零。在Python中,您可以使用函数来实现这一点(请参见问题)。朱莉娅怎么能做到这一点呢?我找到了自己问题的答案。正如Julia中提到的,可以使用生成器创建字典。因此,您可以复制原始Dict的键,并将所有值指定为0,就像这样 d_new = Dict(i => 0 for i in keys(d)) 也见论坛帖子。 < P>不完全是你的问题的答案,但是你可能觉得有趣的是使用包,它提供了比Base Dict. 更方便的使用字典的方法。 例如,在dictionary.

我想将字典的所有值设置为零。在Python中,您可以使用函数来实现这一点(请参见问题)。朱莉娅怎么能做到这一点呢?

我找到了自己问题的答案。正如Julia中提到的,可以使用生成器创建字典。因此,您可以复制原始Dict的键,并将所有值指定为0,就像这样

d_new = Dict(i => 0 for i in keys(d))

也见论坛帖子。

< P>不完全是你的问题的答案,但是你可能觉得有趣的是使用包,它提供了比Base Dict.

更方便的使用字典的方法。 例如,在
dictionary.jl
notation中,您的问题可以按如下方式解决

using Dictionaries

d = dictionary(['a' => 1, 'b' => 2])

map(zero, d)

想到了
replace
功能。它将函数作为第一个参数,该参数将对作为参数,并返回修改后的对:

d_new = replace(kv -> kv[1] => 0, d)
这里,来自
d
的每对
kv
kv[1]=>0
替换,其中
kv[1]
是键,
0
是新的关联值。 请注意,变异变体
替换也可用于就地更换

编辑:字典必须进行变异时的另一种可能性是:

map!(x->0, values(d))