python How to assign a value to a dictionary whose key corresponds to a dictionary item
- 2021-07-09 08:59:08
- OfStack
Question 1: You need a dictionary dic in a format like {"demo": {"key": "value"}}.
dic = dict()
dic_temp = dict()
dic_temp = {"key":"value"}
dic["demo"] = dic_temp
Question 2: Create a multivalued mapping dictionary.
d = {}
for key, value in pairs:
if key not in d:
d[key] = []
d[key].append(value)
Question 3: You need an json text in a format similar to [{"id": 1, "text": "Root node", "children": [{"id": 2, "text": "Child node 1", "children": true}, "ES22node 2"]}].
import json
import codecs
import sys
reload(sys)
sys.setdefaultencoding('utf8')
def Format_data():
HY_Info = Search_HYInfo()
ChildNodes = Search_ChildNodes()
print ' Start formatting data '
HY_Nodes = []
for HY_id in ChildNodes.keys():
HY_Node = {}
HY_Node['id'] = HY_id
if HY_id in HY_Info.keys():
HY_Node['text'] = HY_Info[HY_id].decode('gbk')+'('+str(HY_id)+')'
else:
HY_Node['text'] = '--'
print HY_Node['text']
HY_Node['children'] =[]
for child_id in ChildNodes[HY_id]:
child_Node = {}
child_Node['id'] = child_id
if child_id in HY_Info.keys():
child_Node['text'] = HY_Info[child_id].decode('gbk') + '('+str(child_id) + ')'
else:
child_Node['text'] = '--'
if child_id in ChildNodes.keys():
child_Node['children'] = True
else:
child_Node['children'] = False
HY_Node['children'].append(child_Node)
HY_Nodes.append(HY_Node)
json_data = json.dumps(HY_Nodes,ensure_ascii=False,encoding="gb2312")
with codecs.open('./data/Parents_leves.json', "wb", "utf-8") as f:
f.write(json_data)