dictionary - Julia double for 循环,遍历字典

标签 dictionary julia

我刚刚开始使用 Julia。据我了解,Julia 允许您在一行上声明多个 for 循环。

例如:

for i = 1:2, j = [-1,-2]
    println((i, j))
end

会导致这样的结果:

(1,-1)
(1,-2)
(2,-1)
(2,-2)

我现在正在做类似的事情,但是在循环字典时。我声明如下:

rename = function(x)
    x["num"] = -x["num"]
    x
end

players1 = [["num" => 1],["num" => 2]]
players2 = map(rename, copy(players1)) # = [["num" => -1],["num" => -2]]

奇怪的是,对我来说,当我这样做时:

for i=players1, j=players2
    println(i, j)
end

为什么我没有得到这个输出?

["num"=>1]["num"=>-1]
["num"=>1]["num"=>-2]
["num"=>2]["num"=>-1]
["num"=>2]["num"=>-2] 

最佳答案

啊。在这种情况下,map 函数仍然需要deepcopy

这段代码似乎确实有效。

rename = function(x)
    x["num"] = -x["num"]
    x
end

players1 = [["num" => 1],["num" => 2]]
players2 = map(rename, deepcopy(players1))

for i=players1, j=players2
    println(i, j)
end

关于dictionary - Julia double for 循环,遍历字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200771/

相关文章:

vector - 与 Julia 中的转置不同的单例向量

python - 字典解包操作符**

c# - 使用 operator[] 即时创建字典项

Python 映射字典

indexing - 设置索引!没有为 WeakRefStrings 定义。 SpringArray{字符串,1}

julia - Julia 的匿名争论

python - 如何翻字典 "inside-out"

java - HashMap 在第 12 个索引中插入第一条记录

julia - 如何使用 Plots.jl 在图像上绘图?

Julia 相当于 np.pad 中的 pad_width