使用带有两个向量的find()函数

Dor*_*erA 3 find julia

我正在使用Julia编程语言,我知道您可以通过以下方式使用find函数:

a = [ 1 2 3 4 3 5 3 6 7 8 9 3 ]
find(a .== 3)
Run Code Online (Sandbox Code Playgroud)

它将返回: 3, 5, 7, 12

很简单.

但是,我的问题是,如果我们想要将上面代码中的3替换为向量,该怎么办?

例如:

a = [1 2 3 4 5 6 7]
b = [1 9 5 8]
Run Code Online (Sandbox Code Playgroud)

以下语法对我没有用,但它传达了我的想法.我该如何正确地做到以下几点?:

find (a .== b)
Run Code Online (Sandbox Code Playgroud)

如果我们想要它回来1, 3

我知道R中的匹配函数做得很好,但我有一个非常大的数据集,而R还没有很好地处理它.

小智 7

另一种方法 - 使用函数findin/2:

julia> findin(b,a)
2-element Array{Int64,1}:
 1
 3

julia> findin(a,b)
2-element Array{Int64,1}:
 1
 5
Run Code Online (Sandbox Code Playgroud)