Copy or clone a collection in Julia

后端 未结 2 1689
余生分开走
余生分开走 2020-12-30 04:21

I have created a one-dimensional array(vector) in Julia, namely, a=[1, 2, 3, 4, 5]. Then I want to create a new vector b, where b has

2条回答
  •  一个人的身影
    2020-12-30 04:34

    b=copy(a)

    Should do what you want.

    methods(copy) will give you a list of methods for copy, which will tell you what types of a this will work for.

    julia> methods(copy)
    # 32 methods for generic function "copy":
    copy(r::Range{T}) at range.jl:324
    copy(e::Expr) at expr.jl:34
    copy(s::SymbolNode) at expr.jl:38
    copy(x::Union{AbstractString,DataType,Function,LambdaStaticData,Number,QuoteNode,Symbol,TopNode,Tuple,Union}) at operators.jl:194
    copy(V::SubArray{T,N,P<:AbstractArray{T,N},I<:Tuple{Vararg{Union{AbstractArray{T,1},Colon,Int64}}},LD}) at subarray.jl:29
    copy(a::Array{T,N}) at array.jl:100
    copy(M::SymTridiagonal{T}) at linalg/tridiag.jl:63
    copy(M::Tridiagonal{T}) at linalg/tridiag.jl:320
    copy{T,S}(A::LowerTriangular{T,S}) at linalg/triangular.jl:36
    copy{T,S}(A::Base.LinAlg.UnitLowerTriangular{T,S}) at linalg/triangular.jl:36
    copy{T,S}(A::UpperTriangular{T,S}) at linalg/triangular.jl:36
    copy{T,S}(A::Base.LinAlg.UnitUpperTriangular{T,S}) at linalg/triangular.jl:36
    copy{T,S}(A::Symmetric{T,S}) at linalg/symmetric.jl:38
    copy{T,S}(A::Hermitian{T,S}) at linalg/symmetric.jl:39
    copy(M::Bidiagonal{T}) at linalg/bidiag.jl:113
    copy(S::SparseMatrixCSC{Tv,Ti<:Integer}) at sparse/sparsematrix.jl:184
    copy{Tv<:Float64}(A::Base.SparseMatrix.CHOLMOD.Sparse{Tv<:Float64}, stype::Integer, mode::Integer) at sparse/cholmod.jl:583
    copy(A::Base.SparseMatrix.CHOLMOD.Dense{T<:Union{Complex{Float64},Float64}}) at sparse/cholmod.jl:1068
    copy(A::Base.SparseMatrix.CHOLMOD.Sparse{Tv<:Union{Complex{Float64},Float64}}) at sparse/cholmod.jl:1069
    copy(a::AbstractArray{T,N}) at abstractarray.jl:349
    copy(s::IntSet) at intset.jl:34
    copy(o::ObjectIdDict) at dict.jl:358
    copy(d::Dict{K,V}) at dict.jl:414
    copy(a::Associative{K,V}) at dict.jl:204
    copy(s::Set{T}) at set.jl:35
    copy(b::Base.AbstractIOBuffer{T<:AbstractArray{UInt8,1}}) at iobuffer.jl:38
    copy(r::Regex) at regex.jl:65
    copy(::Base.DevNullStream) at process.jl:98
    copy(C::Base.LinAlg.Cholesky{T,S<:AbstractArray{T,2}}) at linalg/cholesky.jl:160
    copy(C::Base.LinAlg.CholeskyPivoted{T,S<:AbstractArray{T,2}}) at linalg/cholesky.jl:161
    copy(J::UniformScaling{T<:Number}) at linalg/uniformscaling.jl:17
    copy(A::Base.SparseMatrix.CHOLMOD.Factor{Tv}) at sparse/cholmod.jl:1070
    

提交回复
热议问题