详解python中的json和字典dict


Posted in Python onJune 22, 2018

定义

python中,json和dict非常类似,都是key-value的形式,而且json、dict也可以非常方便的通过dumps、loads互转。既然都是key-value格式,为啥还需要进行格式转换?

json(JavaScript Object Notation)

json:是一种数据格式,是纯字符串。可以被解析成Python的dict或者其他形式。

dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。它使用内置的哈希函数来规划key对应value的存储位置,从而获得O(1)的数据读取速度。

json和dict对比

  • json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);
  • json的key可以是有序、重复的;dict的key不可以重复。
  • json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。
  • json任意key存在默认值undefined,dict默认没有默认值;
  • json访问方式可以是[],也可以是.,遍历方式分in、of;dict的value仅可以下标访问。
  • json的字符串强制双引号,dict字符串可以单引号、双引号;
  • dict可以嵌套tuple,json里只有数组。
  • json:true、false、null
  • python:True、False、None
  • json中文必须是unicode编码,如"\u6211".
  • json的类型是字符串,字典的类型是字典。

hashtable

一个对象当其声明周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是hashtable的。

1、python中的基本类型都是Hashtable,如str、bytes、数字类型、tuple等; 
2、用户自定义的类型默认都是hashtable,因为它们的hash值就是id()值; 
3、frozenset始终都是hashtable的,因为它们所有的项目都是被定义成hashtable的; 
4、只有当tuple内的所有项都是hashtable的时候,tuple才是hashtable;

总结

以上所述是小编给大家介绍的on中的json和字典dict,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
在Python的web框架中编写创建日志的程序的教程
Apr 30 Python
python简单实现基于SSL的IRC bot实例
Jun 15 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
Python2.x与Python3.x的区别
Jan 14 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
Python 正则表达式爬虫使用案例解析
Sep 23 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
python中random模块详解
Mar 01 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 Python
python实现雨滴下落到地面效果
Jun 21 #Python
使用python读取csv文件快速插入数据库的实例
Jun 21 #Python
详解python3中tkinter知识点
Jun 21 #Python
Python3用tkinter和PIL实现看图工具
Jun 21 #Python
Python3.4 tkinter,PIL图片转换
Jun 21 #Python
Python3实现转换Image图片格式
Jun 21 #Python
python3实现域名查询和whois查询功能
Jun 21 #Python
You might like
如何使用PHP往windows中添加用户
2006/12/06 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP URL路由类实例
2013/11/12 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php无限级分类实现方法分析
2016/10/19 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
看了就知道什么是JSON
2007/12/09 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
讲解Python中运算符使用时的优先级
2015/05/14 Python
Python3中的2to3转换工具使用示例
2015/06/12 Python
python根据日期返回星期几的方法
2015/07/06 Python
python重试装饰器的简单实现方法
2019/01/31 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
师范学院毕业生求职信范文
2013/12/26 职场文书
北京大学自荐信范文
2014/01/28 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
面试通知邮件
2015/04/20 职场文书
现货白银电话营销话术
2015/05/29 职场文书
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技