a是一个3个元素的向量,想让他与index这个字典中的value值取交集,返回一个新的3元素字典,应该怎么弄呢?有现成函数么?小白一个
Dict( i => index[i] for i in a)
我的a中的7,4,1是value值,不是key值,我按照前辈的代码做了一下发现不是很对,麻烦前辈能再看一下么
重复元素如何处理?
index = Dict(1=>2, 2=>2, 3=>2)
我没看懂您的意思
index = Dict(1=>2, 2=>2, 3=>2, 4=>3)
a = [2]
应该返回什么呢?
我没考虑过您这个,您是说这个东西有重复values不能实现么?我那个没有重复values可以实现么?
肯定是可以再优化的,但反正能用,另外这里 a
最好提前转换成 Set 才能拿到比较高的 v in a
的效率。
julia> index = Dict(5=>2, 4=>4, 6=>5, 7=>6, 2=>3, 3=>1, 1=>7);
julia> a = [7, 1, 4]
3-element Vector{Int64}:
7
1
4
julia> Dict(k=>v for (k,v) in index if v in a)
Dict{Int64, Int64} with 3 entries:
4 => 4
3 => 1
1 => 7
啊原来楼上已经写了
感谢各位大佬真心感谢