我在Julia中创建了一个一维数组(矢量),即a=[1, 2, 3, 4, 5].然后我想创建一个新的向量b,其中b有完全相同的元素a,即b=[1, 2, 3, 4, 5].
似乎直接使用b = a只是为原始集合创建一个指针,这意味着如果我修改b并且a是可变的,修改也将反映在中a.例如,如果我使用!pop(b),那么b=[1, 2, 3, 4]和a=[1, 2, 3, 4].
我想知道是否有一个官方功能只是复制或克隆集合,这种变化b不会发生a.我找到了一个解决方案b = collect(a).我希望有人提供一些其他方法.
我有一个函数收集额外的关键字参数使用...,所以就像function f(args=0; kwargs...).我想检查关键字参数是否a存在kwargs.
我做的可能不是一种优雅的方式,我首先创建一个Dict存储关键字和相应的值kwargs_dict=[key=>value for (key, value) in kwargs],然后我haskey(kwargs_dict, :a)用来检查是否a是dict中的一个键.然后我得到它的价值kwargs_dict[:a].
function f(; kwargs...)
kwargs_dict = [key=>value for (key, value) in kwargs]
haskey(kwargs_dict, :a)
a_value = kwargs_dict[:a]
end
f(args=0, a=2)
> true
f(args=0)
> false
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更好的方法来检查关键字参数a是否在,kwargs并获取现有关键字参数的值.