Julia语言中如何向字典已有键的对应值中新增键值对
错误原因
你报错的核心原因是字典初始化时的运算符优先级问题。Julia中=>为右结合运算符,你编写的"X" => "A_1" => 1会被自动解析为"X" => ("A_1" => 1),也就是说dict["X"]实际存储的是单个Pair类型对象,并非支持新增键值对的Dict结构,自然无法调用push!方法执行添加操作。
解决方案
场景1:已有当前创建好的dict,需要修改现有内容
直接将X的值替换为包含原有键值对和新增键值对的Dict即可,代码如下:
dict["X"] = Dict(dict["X"], "B_2" => 2)
执行完成后dict["X"]就变为标准Dict结构,后续再需要新增键值对时,可直接调用push!操作。
场景2:还未初始化字典,可提前调整写法规避问题
初始化时显式给X对应的值套上Dict()声明,明确其为字典类型:
dict = Dict("A_1" => 1, "B_1" => 2, "X" => Dict("A_1" => 1))
之后就可以直接用你之前尝试的写法新增嵌套键值对:
push!(dict["X"], "B_2" => 2)
内容的提问来源于stack exchange,提问作者lambcount
相关产品推荐
相关产品推荐

