当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia view用法及代码示例


用法:

view(A, inds...)

类似 getindex ,但返回一个轻量级数组,该数组在给定索引或索引 inds 处延迟引用(或实际上是 view 到)父数组 A,而不是即刻地提取元素或构造复制的子集。在返回值(通常是 SubArray )上调用 getindex setindex! 计算索引以动态访问或修改父数组。如果在调用view 后更改父数组的形状,则行为未定义,因为没有对父数组进行绑定检查;例如,它可能会导致分段错误。

一些不可变的父数组(如范围)可能会选择在某些情况下简单地重新计算一个新数组,而不是返回 SubArray,如果这样做是有效的并且提供兼容的语义的话。

Julia 1.6

在 Julia 1.6 或更高版本中,可以在 AbstractString 上调用 view ,返回 SubString

例子

julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
 1  2
 3  4

julia> b = view(A, :, 1)
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
 1
 3

julia> fill!(b, 0)
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
 0
 0

julia> A # Note A has changed even though we modified b
2×2 Matrix{Int64}:
 0  2
 0  4

julia> view(2:5, 2:3) # returns a range as type is immutable
3:4

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.view — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。