Vector Julia-检查向量x的元素是否在向量y中
我想检查elementwise(或broadcast),向量x的元素是否在Julia中的向量y中,就像函数Vector Julia-检查向量x的元素是否在向量y中,vector,julia,element,broadcasting,Vector,Julia,Element,Broadcasting,我想检查elementwise(或broadcast),向量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
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
或
我犯了一个错误
通常,我确信有一种更简单的方法来编写9行函数,但我找不到它使用:
in.(y, Ref(x))
您必须将x
包装在Ref
中,或写入(x,)
或[x]
,以便使广播始终采用x
,而不是重复播放
请注意,我编写它是为了让您检查y[I]
是否在x
中,因为这是参考实现的方式。请使用:
in.(y, Ref(x))
您必须将x
包装在Ref
中,或写入(x,)
或[x]
,以便使广播始终采用x
,而不是重复播放
请注意,我编写它是为了让您检查
y[I]
是否在x
中,因为这是您参考实现的方式。再次感谢@BogumiłKamiński。Ref
与中的相同吗?是的,但在本应用程序中,只需将其视为0维容器,其中容纳的x
正好有一个元素。使用Ref
比使用例如[x]
更好,因为它是不可变的,并且在热代码中不会导致Julia进行额外的分配(x,)
应该同样快到Ref(x)
。再次感谢@BogumiłKamiński。Ref
与中的相同吗?是的,但在本应用程序中,只需将其视为0维容器,其中容纳的x
正好有一个元素。使用Ref
比使用例如[x]
更好,因为它是不可变的,并且在热代码中不会导致Julia进行额外的分配(x,)
应该与Ref(x)
一样快。