用法一
similar(array, [element_type=eltype(array)], [dims=size(array)])
根据给定的源数组,使用给定的元素类型和大小创建一个未初始化的可变数组。第二个和第三个参数都是可选的,默认为给定数组的 eltype
和 size
。维度可以指定为单个元组参数或一系列整数参数。
自定义 AbstractArray 子类型可以选择最适合返回给定元素类型和维度的特定数组类型。如果他们不专门研究此方法,则默认值为 Array{element_type}(undef, dims...)
。
例如,similar(1:10, 1, 4)
返回一个未初始化的 Array{Int,2}
,因为范围既不可变也不支持二维:
julia> similar(1:10, 1, 4)
1×4 Array{Int64,2}:
4419743872 4374413872 4419743888 0
相反,similar(trues(10,10), 2)
返回带有两个元素的未初始化 BitVector
,因为 BitArray
都是可变的并且可以支持一维数组:
julia> similar(trues(10,10), 2)
2-element BitVector:
0
0
由于 BitArray
只能存储
类型的元素,但是,如果您请求不同的元素类型,它将创建一个常规的 Bool
Array
代替:
julia> similar(falses(10), Float64, 2, 4)
2×4 Array{Float64,2}:
2.18425e-314 2.18425e-314 2.18425e-314 2.18425e-314
2.18425e-314 2.18425e-314 2.18425e-314 2.18425e-314
另请参阅:
、undef
。isassigned
用法二
similar(storagetype, axes)
创建一个未初始化的可变数组,类似于 storagetype
指定的数组,但最后一个参数指定了 axes
。
例子
:similar(Array{Int}, axes(A))
创建一个 "acts like" 和 Array{Int}
的数组(并且可能确实有一个支持),但它的索引与 A
相同。如果 A
具有常规索引,这将与 Array{Int}(undef, size(A))
相同,但如果 A
具有非常规索引,则结果的索引将匹配 A
。
similar(BitArray, (axes(A, 2),))
将创建一个一维逻辑数组,其索引与 A
的列的索引匹配。
相关用法
- Julia similar()用法及代码示例
- Julia sizeof()用法及代码示例
- Julia signed用法及代码示例
- Julia sizeof方法用法及代码示例
- Julia signbit()用法及代码示例
- Julia sign用法及代码示例
- Julia signbit用法及代码示例
- Julia size()用法及代码示例
- Julia sign()用法及代码示例
- Julia sin方法用法及代码示例
- Julia size用法及代码示例
- Julia splice!用法及代码示例
- Julia setfield()用法及代码示例
- Julia sort用法及代码示例
- Julia sqrt方法用法及代码示例
- Julia sortperm用法及代码示例
- Julia strip用法及代码示例
- Julia setdiff!用法及代码示例
- Julia setindex!方法用法及代码示例
- Julia stride用法及代码示例
- Julia skipmissing用法及代码示例
- Julia setdiff用法及代码示例
- Julia sum用法及代码示例
- Julia show方法用法及代码示例
- Julia string用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.similar — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。