我有一個原始列表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