我试图找到一个向量的索引,其中元素包含在另一个向量中。例如,让a = [2, 4, 6, 8]
,b = [2, 6]
,所需的输出将是向量[1, 3]
。我尝试了find(a .in b)
,但a .in b
是语法错误。矢量化形式in.(a, b)
会引发DimensionMismatch
错误,因为矢量无法广播到常见形状,而in.(a, b')
允许广播,结果:
true false
false false
false true
false false
不太理想。有什么建议吗?
答案 0 :(得分:2)
正如Alex Riley指出的那样,引用的问题/答案可用于解决此问题
julia> a = [2, 4, 6, 8]
4-element Array{Int64,1}:
2
4
6
8
julia> b = [2, 6]
2-element Array{Int64,1}:
2
6
julia> find(in.(a, (b, )))
2-element Array{Int64,1}:
1
3
答案 1 :(得分:0)
您需要indexin
。
a = [2, 4, 6, 8]
b = [2, 6]
indexin(b,a) # returns [1,3]