我有一个原始列表sorteddict
的形式:转换原始列表JSON数据与Python
["with", 1]
["witches", 1]
["witchcraft", 3]
,我想使它成为一个JSON对象,看起来像来生成更清晰的数据:
"Frequencies": {
"with": 1,
"witches": 1,
"witchcraft": 3,
"will": 2
}
不幸的是到目前为止,我只找到了一个手动的方式来创建数据,如上所示,并想知道是否有更多雄辩的方式来生成数据而不是我的凌乱的脚本。我已经到了需要检索列表中最后一项的地步,并确保在我认为我应该寻求一些建议之前最后一行没有逗号。下面是我有什么:
comma_count = 0
for i in sorteddict:
comma_count += 1
with open("frequency.json", 'w') as f:
json_head = "\"Frequencies\": {\n"
f.write(json_head)
while comma_count > 0:
for s in sorteddict:
f.write('\t\"' + s[0] + '\"' + ":" + str(s[1]) + ",\n")
comma_count -= 1
f.write("}")
我用json.JSONEncode.encode()
,我认为这就是我一直在寻找,但什么结束了发生的事情是"Frequencies"
将被添加到每个s[0]
项目。任何想法来清理代码?
差不多吧。 '''from sortedcontainers import SortedDict sorted_dict = SortedDict({...})''' – Alexander
@Alexander它不是一个标准模块,我不想具体说它,但假设它符合字典界面,这个例子将起作用。 –
Python词典无序,所以你的例子是误导。 – Alexander