如何一次检查 Julia 数组中的所有值?假设我有一个类似 a=[3,4,6,10,55,31,9,10]
的数组如何检查数组是否有大于 10 的值?或者我如何检查是否有重复值(比如样本中包含两次的 10?我知道我可以编写循环来检查这一点,但我认为 Julia 有一种更快的方法来一次检查所有值。
最佳答案
功能 any
和 count
做这个:
julia> a = [3,4,6,10,55,31,9,10]
8-element Array{Int64,1}:
3
4
6
10
55
31
9
10
julia> any(x->x==3, a)
true
julia> count(x->x==10, a)
2
然而,性能可能与循环大致相同,因为 julia 中的循环很快(并且这些函数本身在标准库中的 julia 中实现)。
如果问题有更多的结构,你可以获得很大的加速。例如,如果向量已排序,您可以使用
searchsorted
使用二分查找查找匹配值。
关于arrays - 检查 Julia 数组中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216550/