Dictionary julia错误:未在字典上定义映射

Dictionary julia错误:未在字典上定义映射,dictionary,julia,Dictionary,Julia,hotcell2vocab是一个Dict,是否有一种方法可以反转Dict中的键和值?这就是您要找的吗 julia> hotcell2vocab = Dict([(cell, i-1+vocab_start) for (i,cell) in enumerate(hotcell)]); julia> vocab2hotcell = map(reverse, hotcell2vocab) ERROR: map is not defined on d

hotcell2vocab
是一个
Dict
,是否有一种方法可以反转
Dict
中的键和值?

这就是您要找的吗

julia> hotcell2vocab = Dict([(cell, i-1+vocab_start)
                  for (i,cell)  in  enumerate(hotcell)]);

julia> vocab2hotcell = map(reverse, hotcell2vocab)
ERROR: map is not defined on dictionaries

当然,这假设字典中的值是唯一的。

谢谢!但是map函数有什么问题吗
map
被明确禁止用于
Set
Dict
类型。可能您可以尝试定义它,但问题是这些类型不能保证迭代顺序,问题是这些
映射的返回值应该是什么类型。最后,例如,有人可能希望只映射
Dict
的值,而保留键不变。
julia> d = Dict(i => i+10 for i in 1:5)
Dict{Int64,Int64} with 5 entries:
  4 => 14
  2 => 12
  3 => 13
  5 => 15
  1 => 11

julia> d_rev = Dict(b=>a for (a,b) in d)
Dict{Int64,Int64} with 5 entries:
  14 => 4
  13 => 3
  11 => 1
  15 => 5
  12 => 2