添加具有空值的键,然后在python中以嵌套格式添加值

时间:2016-01-28 22:09:29

标签: python json dictionary

我正在尝试按以下格式创建和添加元素

{{"source1": { "destination11": ["datetime1", "datetime2", ....]}
            { "destination12": ["datetime3", "datetime4",....]}
            ........................................
}
{"source2": { "destination21": ["datetime5", "datetime6", ....]}
            { "destination22": ["datetime7", "datetime8",....]}
            .......................................
}
.........................................}

所有键和值都是我从其他模块获得的变量。  我创建了一个空字典 call_record = [{}] 要添加“source1”,“source2”作为我尝试的键,

call_record.append({source1 :})

现在我无法为此键添加值,因为我将在下一行中添加它,因此我需要创建具有空值的此键,然后在从下一个模块中获取值时添加值。但是,此行不会创建具有空值的键。

此外,要添加“destination11”,“destination12”,我试过,

call_record[i].append(destination11) 

但是,这不会将目的地添加为源密钥的值。

在添加目的地后,我必须添加日期时间。然后我必须将这个字典转储到json文件中。

1 个答案:

答案 0 :(得分:1)

.append用于向数组添加元素。 将元素添加到字典的正确sintax是your_dictionary[key] = value

在您的情况下,您可以将参数传递到字典,如下所示:

import json

call_record = {} # To create an empty dictionary
call_record["source1"] = {} # To append an empty dictionary to the key "source1"
call_record["source1"]["destination11"] = [] # An empty array as value for "destination11"
call_record["source1"]["destination11"].append("datetime1", "datetime2") # To append element datetime1 and datetime2 to destination11 array
call_record_json = json.dumps(call_record, ensure_ascii=False)

但我建议您查看python文档以澄清python中的 data structure

您还可以参考文档的 JSON encoder and decoder 部分,了解有关如何使用它的更多示例。