详解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 import方法引入模块的实例
Aug 02 Python
查看Django和flask版本的方法
May 14 Python
简单了解Python生成器是什么
Jul 02 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
python搜索包的路径的实现方法
Jul 19 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
python dir函数快速掌握用法技巧
Dec 09 Python
python爬虫基础之urllib的使用
Dec 31 Python
python中remove函数的踩坑记录
Jan 04 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 Python
手残删除python之后的补救方法
Jun 26 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执行速度全攻略(下)
2006/10/09 PHP
php 文章采集正则代码
2009/12/28 PHP
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
js+css实现打字效果
2020/06/24 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
2014年计算机专业个人自我评价
2014/01/19 职场文书
阳光体育活动方案
2014/02/16 职场文书
个人综合鉴定材料
2014/05/23 职场文书
医院义诊活动总结
2014/07/04 职场文书
介绍信如何写
2015/01/31 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
销售员自我评价
2015/03/11 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python