详解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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
Python实现完整的事务操作示例
Jun 20 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
对Python信号处理模块signal详解
Jan 09 Python
python如何读取bin文件并下发串口
Jul 05 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
python munch库的使用解析
May 25 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对象克隆clone用法示例
2016/09/28 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Python制作简易注册登录系统
2016/12/15 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
pytorch 数据集图片显示方法
2018/07/26 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
把pandas转换int型为str型的方法
2019/01/29 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python对象的属性访问过程详解
2020/03/05 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
妇科医生自荐信
2013/11/05 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
鲜花方阵解说词
2014/02/13 职场文书
房产买卖委托公证书
2014/04/04 职场文书
环保宣传标语
2014/06/12 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL