Julia语言中高效复制矩阵并排除指定列的方法问询
Julia 矩阵排除指定列的简洁实现
针对你需要保留4×3矩阵X除第三列外所有内容的需求,这里提供几种更简洁的实现方式,尤其适合列数较多的场景:
利用范围索引(适用于排除末尾列)
如果要排除的是最后一列,直接用范围到倒数第二列即可:X[:, 1:end-1]使用
Not索引(通用排除指定列)
Julia 支持用Not来指定要排除的索引,无需手动罗列所有保留列。可以导入Base.Iterators后使用,或者直接调用Base.Not:# 导入模块后使用 using Base.Iterators X[:, Not(3)] # 不导入的直接写法 X[:, Base.Not(3)]直接指定保留列范围(适用于保留连续列)
要是明确保留的是前两列,也可以直接写:X[:, 1:2]但这种方式灵活性不如
Not,当列数多且仅需排除少数列时,Not的写法更高效。
验证效果:
执行X[:, Base.Not(3)]后会得到你期望的结果:
4×2 Matrix{Int64}: 0 1 0 2 1 1 1 2
内容的提问来源于stack exchange,提问作者Alexander L. Hayes
相关产品推荐
相关产品推荐

