详解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的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
速记Python布尔值
Nov 09 Python
Python键盘输入转换为列表的实例
Jun 23 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
python和go语言的区别是什么
Jul 20 Python
详解如何用Python实现感知器算法
Jun 18 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
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
javascript new一个对象的实质
2010/01/07 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
react中使用swiper的具体方法
2018/05/15 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
一则python3的简单爬虫代码
2014/05/26 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Django中modelform组件实例用法总结
2020/02/10 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
志愿者活动总结范文
2014/04/26 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
学校献爱心活动总结
2014/07/08 职场文书
小学生思想品德评语
2014/12/31 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
中秋节主题班会
2015/08/14 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技