我想逐元素(或广播)检查向量 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]
是否在 x
中 for i in eachindex(y)
因为这是您的引用实现的完成方式。
关于vector - Julia - 按元素检查向量 x 的元素是否在向量 y 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54616565/