當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。