详解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和php通信乱码问题解决方法
Apr 15 Python
Python读取图片属性信息的实现方法
Sep 11 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
Python 逐行分割大txt文件的方法
Oct 10 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
Django如何实现防止XSS攻击
Oct 13 Python
Django celery异步任务实现代码示例
Nov 26 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
关于PHP开发的9条建议
2015/07/27 PHP
php经典算法集锦
2015/11/14 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
描述RIP和OSPF区别以及特点
2015/01/17 面试题
函授本科自我鉴定
2014/02/04 职场文书
开工典礼策划方案
2014/05/23 职场文书
服务理念口号
2014/06/11 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
面试自我评价范文
2014/09/17 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL