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)


Related articles: