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

相关文章

Python实现Selenium自动化Page模式

Python实现Selenium自动化Page模式

Selenium是当前主流的web自动化工具,提供了多种浏览器的支持(Chrome,Firefox, IE等等),当然大家也可以用自己喜欢的语言(Java,C#,Python等)来写用例...

Python中index()和seek()的用法(详解)

1、index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t...

python中精确输出JSON浮点数的方法

有时需要在JSON中使用浮点数,比如价格、坐标等信息。但python中的浮点数相当不准确, 例如下面的代码:复制代码 代码如下:#!/usr/bin/env python import...

简单介绍python封装的基本知识

简单介绍python封装的基本知识

python封装简介 1.效果图:   对比一:   对比二: 2.学习来源代码: # 封装是面向对象的三大特性之一 # 封装指的是隐藏对象中一些不希望被外部所访问到的属性或方...

Python实现简单遗传算法(SGA)

Python实现简单遗传算法(SGA)

本文用Python3完整实现了简单遗传算法(SGA) Simple Genetic Alogrithm是模拟生物进化过程而提出的一种优化算法。SGA采用随机导向搜索全局最优解或者说近似...