arrays - 如何从 Julia 匹配谓词中的数组中选择元素?

标签 arrays julia

Julia 似乎有很多类似 Matlab 的功能。我想使用谓词从数组中进行选择。在 Matlab 中,我可以这样做:

>> a = 2:7 ;
>> a > 4

ans =

     0     0     0     1     1     1

>> a(a>4)

ans =

     5     6     7

我在 Julia 中找到了一种看起来很笨拙的方法来完成其中的一部分:
julia> a = 2:7
2:7

julia> [int(x > 3) for x in a]
6-element Array{Any,1}:
 0
 0
 1
 1
 1
 1

(使用维基百科所说的 list comprehension )。我还没有弄清楚如何在 Julia 中应用这样的集合来选择,但可能会叫错树。如何从 Julia 的数组中进行谓词选择?

最佳答案

如果使用点 .,则可以使用非常类似于 Matlab 的语法。对于 elementwise比较:

julia> a = 2:7
2:7

julia> a .> 4
6-element BitArray{1}:
 false
 false
 false
  true
  true
  true

julia> a[a .> 4]
3-element Array{Int32,1}:
 5
 6
 7

或者,您可以调用filter如果您想要更实用的谓词方法:
julia> filter(x -> x > 4, a)
3-element Array{Int32,1}:
 5
 6
 7

关于arrays - 如何从 Julia 匹配谓词中的数组中选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27884508/

相关文章:

java - 添加锯齿状二维数组的列

javascript - 将循环结构转换为 JSON

php - 如何使用 preg_replace 用数组中的字符串替换子字符串? (PHP)

java - 如何删除数组中的 "null"个元素?

php - 什么是最好的 php DOM 2 数组函数?

macros - Julia 交换有什么问题!宏?

python - 在 Julia 中使用 PyCall.jl 时修改 Python 对象的属性

dataframe - Julia 中 DataFrame 的两列或多列的矢量化连接

julia - 在 Julia 中,当涉及外部作用域时,匿名函数的类型是什么?

julia - 导入数组数据并以特定格式保存数组数据的最快方法是什么?