详解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 zip文件 压缩
Dec 24 Python
pyqt4教程之messagebox使用示例分享
Mar 07 Python
使用python删除nginx缓存文件示例(python文件操作)
Mar 26 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
python爬虫中采集中遇到的问题整理
Nov 27 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中的string类型使用说明
2010/07/27 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
javascript实现密码验证
2015/11/10 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python字典遍历操作实例小结
2019/03/05 Python
python中安装django模块的方法
2020/03/12 Python
python中的错误如何查看
2020/07/08 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
护理专业毕业生推荐信
2013/10/31 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
微观世界观后感
2015/06/10 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
vue实现登陆页面开发实践
2022/05/30 Vue.js