我想检查一个向量中的元素是否包含在另一个向量中。在R中有运营商%in%
。Julia:检查一个向量中的元素是否在另一个向量中
例如操作员将执行以下操作:
[1,3,5,7,9,4] %in% [1,2,4,5,8,9,10,11]
# [true,false,true,false,true,true]
我可以很容易地写我自己只有我尽量不推倒重来。
我想检查一个向量中的元素是否包含在另一个向量中。在R中有运营商%in%
。Julia:检查一个向量中的元素是否在另一个向量中
例如操作员将执行以下操作:
[1,3,5,7,9,4] %in% [1,2,4,5,8,9,10,11]
# [true,false,true,false,true,true]
我可以很容易地写我自己只有我尽量不推倒重来。
有一些内置插件可以做类似的事情。 indexin
为您提供b
中的索引,其中找到a
的元素(如果不存在,则为0) - 这与R的match
类似。 setdiff
为您提供a
中不在b
中的元素。很可能你可以用这些来做你想做的事情 - 构建用于过滤的临时布尔数组在R语言中并不是那么意识形态,因为它通常会创建额外的不必要的分配。
恐怕不是那么好,但是你可以这样做:
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
你可以使用匿名函数: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]]
咦,不错的广播招用额外的支架扩张第二个数组就像一个元素! –