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
中,因为这是您的参考实现的完成方式。
我想按元素(或广播)检查向量 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
中,因为这是您的参考实现的完成方式。