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