如何在dict中为key添加新值?

时间:2017-11-23 04:10:15

标签: python dictionary

如果我有样本字典:

mydict = {1:{2:'A'}}

如何向关键1添加新数据,以便它可以像:

mydict = {1:{2:'A'},{3:'B'}} 

当我做mydict.update({3:'B'})

我得到: {1: {2: 'A'}, 3: 'B'}不是{1: {2: 'A'}, {3: 'B'}}

如果我使用相同的密钥尝试.update,它只会替换数据:

mydict.update({1:{3:'B'}})变成了 {1: {3: 'B'}}

4 个答案:

答案 0 :(得分:1)

你已经有了一个很好的图书馆:

//SAVE
     self.updateClient = function (client) {
        var defer = $q.defer();
        const id = client._id; //ADDED

     console.log('client - before calling http: ', client); 
     console.log('id- before calling http: ', id); 

        $http.put("/api/client/" + id, {client : client})
            .then(function (result) {
                //alert(result.data.msg);
                console.log(client);
                defer.resolve(result);

            }).catch(function (err) {
                defer.reject(err);
            });

        return defer.promise;

    }

然后您可以轻松获取2键的数据!像:

//SAVE
app.put("/api/client/:id", function (req, res) {

console.log(req.params.id); //returns correct id 
console.log(req.body.client); //returns newly edited data

    Client.updateOne({ "id" : req.params.id }, { $set: req.body.client }, (err, result) => {
        if (err) {
            console.log(err);
            handleError(err, res);
            return;
        }

        res.status(200).json({msg: 'Successfully saved'});
    });
});

答案 1 :(得分:0)

执行mydict.update({3:'B'})时,您正在更新错误的词典。

您似乎想要更新mydict[1]

中的字典

这假设你实际上想要{1: {2: 'A', 3: 'B'}}的结果,因为你的例子{1: {2: 'A'}, {3: 'B'}}是无效的python。

请尝试mydict[1].update({3:'B'})

答案 2 :(得分:0)

只需添加

 mydict[1].update({3:'B'})

答案 3 :(得分:0)

 mydict ={2:'a',3:'b'}
 d={1:mydict}
 print (d)
 {1: {2: 'a', 3: 'b'}}
 
 to update more key:values you can add to mydict