朱莉娅:检查一个向量中的元素是否在另一个向量中

时间:2017-09-25 18:16:24

标签: vector julia

我想检查一个向量中的元素是否包含在另一个向量中。在R中有运算符%in%

例如,运营商将执行以下操作:

 [1,3,5,7,9,4] %in% [1,2,4,5,8,9,10,11] 
 # [true,false,true,false,true,true]

我只能轻易地写自己,我不想重新发明轮子。

3 个答案:

答案 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)

有许多内置插件可以做类似的事情。 indexinb中的索引提供a的元素(如果不存在,则为0) - 这类似于R的match)。 setdiffa中的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]]