详解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 相关文章推荐
在windows系统中实现python3安装lxml
Mar 23 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
python实现图片彩色转化为素描
Jan 15 Python
Python远程视频监控程序的实例代码
May 05 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
Python输出指定字符串的方法
Feb 06 Python
python实现门限回归方式
Feb 29 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 Python
【超详细】八大排序算法的各项比较以及各自特点
Mar 31 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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 __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
php跨服务器访问方法小结
2015/05/12 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
javascript格式化日期时间方法汇总
2015/06/19 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
数据库方面面试题
2012/04/22 面试题
.NET remoting中对象激活的两种方式
2015/06/08 面试题
英语专业毕业生自荐信
2013/10/28 职场文书
安全先进个人材料
2014/12/29 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
初中信息技术教学反思
2016/02/16 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
宝塔更新Python及Flask项目的部署
2022/04/11 Python