python如何给字典的键对应的值为字典项的字典赋值

yipeiwu_com5年前Python基础

问题 1:需要得到一个类似{“demo”:{“key”:”value”}}这样格式的字典dic。

dic = dict()
dic_temp = dict()
dic_temp = {"key":"value"}
dic["demo"] = dic_temp

问题 2:创建一个多值映射字典.。

d = {}
for key, value in pairs:
  if key not in d:
    d[key] = []
  d[key].append(value)

问题 3:需要得到一个类似[ { “id”:1,“text” : “Root node”, “children” : [ {“id”:2,”text”:”Child node 1”,”children”:true},”Child node 2”] } ]这样格式的json文本。

import json
import codecs
import sys
reload(sys)
sys.setdefaultencoding('utf8')

def Format_data():
  HY_Info = Search_HYInfo()
  ChildNodes = Search_ChildNodes()
  print '开始格式化数据'

  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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用str & repr转换字符串

可能比较 low 还是记录一下: str 和 repr的使用过程 str 是一个类型 (int, long 类似), 同样她也可以作为一个工厂方法 实例一个 string re...

对django的User模型和四种扩展/重写方法小结

User模型 User模型是这个框架的核心部分。他的完整的路径是在django.contrib.auth.models.User。以下对这个User对象做一个简单了解: 字段: 内置的U...

matplotlib绘图实例演示标记路径

matplotlib绘图实例演示标记路径

标记路径 演示效果: 实例代码 import matplotlib.pyplot as plt import matplotlib.path as mpath import num...

python编程使用selenium模拟登陆淘宝实例代码

selenium简介 selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: * 免费,也不用再为破解Q...

Python的string模块中的Template类字符串模板用法

string.Template() string.Template()内添加替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitut...