朱莉娅:如何获取NamedTuple的名称?

时间:2019-09-07 08:16:39

标签: julia

例如,

nt = (a=1,b="b",c=5.0)

如何获取nt的{​​{1}}的名称?

2 个答案:

答案 0 :(得分:4)

对于任何其他键值结构(例如字典),您可以使用keys函数:

julia> nt = (a=1,b="b",c=5.0)
(a = 1, b = "b", c = 5.0)

julia> keys(nt)
(:a, :b, :c)

请注意,通常这会在键上返回一个迭代器。如果您真的想实现它,collect的结果:

julia> collect(keys(nt))
3-element Array{Symbol,1}:
 :a
 :b
 :c

答案 1 :(得分:1)

请注意,names是Julia符号(即冒号表示)。如果希望名称是字符串而不是符号,请从收集的键中构造字符串。

 julia> nt = (two = 2, three = 3)
 (two = 2, three = 3)

 julia> namestrs = String.collect(keys(nt))
 2-element Array(String,1):
  "two"
  "three"