详解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连接PostgreSQL数据库的方法
Nov 28 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
有关Python的22个编程技巧
Aug 29 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
浅析python标准库中的glob
Mar 13 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 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数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php微信开发之百度天气预报
2016/11/18 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
AngularJS 事件发布机制
2018/08/28 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
python开发之str.format()用法实例分析
2016/02/22 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
神经网络python源码分享
2017/12/15 Python
python生成器用法实例详解
2019/11/22 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
自动化系在校本科生求职信
2013/10/23 职场文书
拉丁舞学习者的自我评价
2013/10/27 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
档案检查欢迎词
2014/01/13 职场文书
个人授权委托书
2014/04/03 职场文书
结婚保证书范文
2014/04/29 职场文书
商场周年庆活动方案
2014/08/19 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
公司员工手册范本
2015/05/14 职场文书