如何迭代 Julia NamedTuple 中的名称和值?

How to iterate over names and values in Julia NamedTuple?

例如如果我有:

t = (
  a = 1:5,
  b = 2:6,
  c = 3:7,
)

我想:

(
  a = 15,
  b = 20,
  c = 25,
)

完成此操作的惯用方法是什么?


我不知道如何从1:5传递到15,但如果你允许我发明这样的函数,那么,你可以这样做:

julia> NamedTuple(k=>length(v)*(first(v)+2) for (k,v) in pairs(t))
(a = 15, b = 20, c = 25)

你也可以使用旧的 map:

julia> map(x -> length(x) * (first(x) + 2), t)
(a = 15, b = 20, c = 25)

我猜你想要

julia> map(sum, t)
(a = 15, b = 20, c = 25)