You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia中如何按另一等长向量指定次数重复向量的每个元素

Julia实现数组元素按指定次数重复的方法

有两种常用方案可以实现这个需求:


方法1:基础函数实现(无需第三方依赖)

组合使用fill广播和vcat拼接即可实现,代码如下:

x = [1, 2, 3, 4, 5]
y = [3, 2, 1, 2, 3]

result = vcat(fill.(x, y)...)

执行后得到的result就是目标结果[1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5]。
实现逻辑:用广播语法fill.(x,y)为x的每个元素生成对应重复次数的子数组,再用vcat把所有子数组拼接为一维数组。


方法2:使用StatsBase包的inverse_rle实现

如果项目中已经引入了StatsBase统计包,可以直接调用游程编码逆函数,写法更简洁,处理大规模数组时性能也更好:

using StatsBase

x = [1, 2, 3, 4, 5]
y = [3, 2, 1, 2, 3]

result = inverse_rle(x, y)

内容的提问来源于stack exchange,提问作者Physics_Student

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:15:07