定义

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;

json和python中字典的区别和联系_python中字典和json的区别相关推荐

  1. json和python中字典的区别和联系_Python中 json字符串和字典的区别

    一.前言 工作或学习中,相信很多同学跟我一样,对于json字符串和字典两者的概念一直摸棱两可.emmm,既然不懂,那我们查资料并整理下来. 二.json字符串和字典的区别 简单粗暴地说,字典是一种数据 ...

  2. python中字典的基本形式是什么_python中的字典详细介绍

    2014 一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它 ...

  3. python如何统计字典里面健的数量_Python中使用Counter进行字典创建以及key数量统计的方法...

    Python中使用Counter进行字典创建以及key数量统计的方法 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python中使用Counter进行字典创建以及key数量统计 ...

  4. python如何使用字典中的值并进行比较_python嵌套字典比较值与取值的实现示例

    前言 本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 #取值import types allGuests = {' ...

  5. python字典是什么的集合_Python中的字典和集合

    文章目录字典1.介绍 2.创建字典 3.字典内元素的访问 4.字典元素的添加.修改.删除 5.关于字典的其它操作 6.字典存储底层原理 集合1.介绍 2.相关操作 3.集合元素的添加 4.移除元素 字 ...

  6. python中int是什么的缩写_python中int是什么类型

    python中的基本数据类型 1:虽然python中的变量不需要声明,但使用时必须赋值 整形变量 浮点型变量 字符型 2:可以一个给多个变量赋值,也可以多个给多个变量赋值 3:python3中有6个标 ...

  7. python中表示空类型的是_python中怎么表示空值

    首先了解python对象的概念 python中,万物皆对象,所有的操作都是针对对象的. 那什么是对象?5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是 ...

  8. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...

    摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...

  9. python中的列表是指针吗_Python中的指针——到底指什么(二)

    在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...

  10. python里删除range里的数字_python中range函数与列表中删除元素

    一.range函数使用 range(1,5)   代表从1到4(不包含5),结果为:1,2,3,4   ,默认步长为1 range(1,5,2)   结果为:1, 3  (同样不包含5) ,步长为2 ...

最新文章

  1. oracle log.xml分析,怎么在alert目录下的log.xml中关闭logminer的相关操作日志? — oracle-tech...
  2. 计算机科学不等于数学
  3. centons7编译安装zabbix3.4【转https://www.cnblogs.com/kowloon/p/7771495.html】
  4. 再次学习mysql优化
  5. android的指纹问题
  6. 读书笔记1 : program paradigm
  7. php 收缩栏,HTML5每日一练之details展开收缩标签的应用
  8. Silverlight的OOB特性
  9. Linux查看端口被那个进程占用
  10. 有什么看到就想要抄下来的句子?
  11. 图(一):图的邻接表表示
  12. RDP报表工具:详情式报表
  13. JavaWeb学习之EL表达式和JSTL标签库
  14. xctf crackme
  15. JAVA计算机毕业设计劳务外包管理系统(附源码、数据库)
  16. 硬件工程师其实拼的是细节
  17. 李彦宏高中全国计算机比赛,扒一扒IT大佬高考:马云数学1分考北大 李彦宏是状元...
  18. 陈莉君教授: 回望踏入Linux内核之旅
  19. 关于 reached end of file while parsing
  20. k2刷机小小的流程记录

热门文章

  1. 嵌入式电路设计(linux soc电路设计)
  2. api php jwt,Laravel使用JWT实现API用户授权的详细步骤
  3. delete响应服务器,rest-RESTful-DELETE响应主体应包含什么
  4. 头像上传html js版,javascript头像上传代码实例
  5. 个人网站的搭建(基于GitHub和Jekyll主题 )
  6. 为什么java在自己这是正确的但过不了oj_技术干货:关于Java异常的9大问题
  7. 处理字典值是把字典放内存还是用sql处理_第二周:MYSQL数据库入门,提升你的数据处理效率...
  8. idea集成testng_IDEA+MAVEN+TestNG环境搭建
  9. Codeforces Round #158 (Div. 2) A - Adding Digits
  10. jdk1.8 HashMap ConcurrentHashMap