我想检查一个向量中的元素是否包含在另一个向量中。在R中有运算符%in%
。
例如,运营商将执行以下操作:
[1,3,5,7,9,4] %in% [1,2,4,5,8,9,10,11]
# [true,false,true,false,true,true]
我只能轻易地写自己,我不想重新发明轮子。
答案 0 :(得分:2)
可能不太好,但你可以做到:
julia> [1,3,5,7,9,4] .∈ [[1,2,4,5,8,9,10,11]]
6-element BitArray{1}:
true
false
true
false
true
true
答案 1 :(得分:1)
有许多内置插件可以做类似的事情。 indexin
为b
中的索引提供a
的元素(如果不存在,则为0) - 这类似于R的match
)。 setdiff
为a
中的b
中的元素提供了import math
from math import exp
from math import sin
from math import pi
def g(t):
return exp(-t)*sin(pi*t)
。很可能你会用这些来做你想做的事情 - 构建用于过滤的临时布尔数组在julia中并不像在R中那么具有意义,因为它通常会创建一个额外的,不必要的分配。
答案 2 :(得分:1)
您可以使用匿名函数:map(x -> x in [1,2,4,5,8,9,10,11] ,[1,3,5,7,9,4])
或者理解:[x in [1,2,4,5,8,9,10,11] for x = [1,3,5,7,9,4]]