详解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实现电子词典
Apr 23 Python
python连接oracle数据库实例
Oct 17 Python
Python版微信红包分配算法
May 04 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
Python+Opencv识别两张相似图片
Mar 23 Python
Python中按值来获取指定的键
Mar 04 Python
Django web框架使用url path name详解
Apr 29 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Django框架模型简单介绍与使用分析
Jul 18 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
Python txt文件如何转换成字典
Nov 03 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 Static关键字实用方法
2010/06/04 PHP
Admin generator, filters and I18n
2011/10/06 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python虚拟环境迁移方法
2019/01/03 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
python实现大量图片重命名
2020/03/23 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
《观舞记》教学反思
2014/04/16 职场文书
党员活动日总结
2014/05/05 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
初中政治教学反思
2016/02/23 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫