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

yipeiwu_com6年前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设计】。

相关文章

django 使用 PIL 压缩图片的例子

在最近做项目时,发现服务器上的图片比较大,数据传输时会消耗很多流量,体验非常不好。为了缓解这一现象,决定使用gzip压缩数据流,但是发现gzip对于json数据的压缩效果很好,但对于图片...

Python3.6.0+opencv3.3.0人脸检测示例

Python3.6.0+opencv3.3.0人脸检测示例

网上有很多关于Python+opencv人脸检测的例子,并大都附有源程序。但是在实际使用时依然会遇到这样或者那样的问题,在这里给出常见的两种问题及其解决方法。 先给出源代码:(如下)...

python实现学生信息管理系统

继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理;   2.学生选课操作;   3.学生选课情况查询; 这次仍然...

详解python3中socket套接字的编码问题解决

一、TCP 1、tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = ''...

Python中的迭代器与生成器高级用法解析

迭代器 迭代器是依附于迭代协议的对象——基本意味它有一个next方法(method),当调用时,返回序列中的下一个项目。当无项目可返回时,引发(raise)StopIteration异常...