Julia - 按元素检查向量 x 的元素是否在向量 y 中

Julia - check elementwise if elements of vector x are in the vector y

我想按元素(或广播)检查向量 x 的元素是否在 Julia 中的向量 y 中,就像函数 checkin 所做的那样:

x = ["one", "two", "three", "four"]
y = ["two", "three", "five", "four"]

function checkin(x,y)
    for i = 1:length(y)
        if y[i] ∈ x
            println(true)
        else 
            println(false)
        end
    end
end
checkin(x,y)

输出:

true
true
false
true

如果我输入

x .∈ y

x .in y

我收到一个错误

和往常一样,我确信有一种更简单的方法来编写一个 9 行函数,但我找不到它

使用:

in.(y, Ref(x))

您必须将 x 包裹在 Ref 中或写入 (x, )[x] 以便使广播始终采用 x 而不是对其进行迭代。

请注意,我编写它是为了让您检查 y[i] 是否在 i in eachindex(y)x 中,因为这是您的参考实现的完成方式。