首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向量子集

向量子集
EN

Stack Overflow用户
提问于 2022-06-07 21:33:32
回答 1查看 90关注 0票数 3

我想用一个简单的条件对向量进行子集,并将结果保留在初始向量中:

代码语言:javascript
复制
x = [1,2,3,4,5]
y = 4
x = x[x .< 4]

1 2 3

它运行得很好,但是如果我有较长的变量名,则如下所示:

代码语言:javascript
复制
position = position[position .< 4]

有没有其他更优雅的方法来做到这一点,而不键入相同的变量名称3次在朱莉娅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-07 22:30:53

代码语言:javascript
复制
julia> x = [1,2,3,4,5];

julia> filter!(<(4), x)
3-element Vector{Int64}:
 1
 2
 3

这样可以进行就地筛选,如果您想要复制,则使用filter(<(4), x)代替。

请注意,在这种情况下,filter!函数是筛选向量的最快方法。

代码语言:javascript
复制
julia> x = [1,2,3,4,5]

julia> @btime filter!(<(4), $x)
  5.500 ns (0 allocations: 0 bytes)

julia> x = [1,2,3,4,5]

julia> @btime $x = $x[$x .< 4];
  94.618 ns (3 allocations: 176 bytes)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72537775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档