知行编程网知行编程网  2022-10-06 11:00 知行编程网 隐藏边栏  13 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python的字典和json有什么区别的相关知识,包括python文本转化为json,以及json转python这些编程知识,希望对大家有参考作用。

python的字典和json有什么区别

python中,json和dict很相似,都是key-value的形式,json和dict也可以通过dumps和loads方便的相互传递。


定义

python中,json和dict很相似,都是key-value的形式,json和dict也可以通过dumps和loads方便的相互传递。既然都是key-value格式,为什么还要进行格式转换呢?

json(JavaScript Object Notation)

json:是一种数据格式,是纯字符串。可以解析为 Python dict 或其他形式。

dict:它是一个完整的数据结构,是Hash Table数据结构的一个实现,是从存储到提取的一个打包解决方案。它使用内置的哈希函数来规划值对应的key的存储位置,从而获得O(1)的数据读取速度。


json和dict对比

json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);

json的key可以是有序、重复的;dict的key不可以重复。

json 的值只能是字符串、浮点数、布尔值或空值,也可以是由它们组成的数组或对象。

json任意key存在默认值undefined,dict默认没有默认值;

json访问方式可以是[]或者.,遍历方式分为in和of; dict 的值只能通过下标访问。

json字符串强制双引号,dict字符串可以是单引号也可以是双引号;

dict可以嵌套tuple,json里只有数组。

json:true、false、null

python:True、False、None

json中文必须是unicode编码,如"\u6211".

json的类型是字符串,字典的类型是字典。


hashtable

当一个对象的哈希值在其声明期间没有变化并且可以与其他对象进行比较时,它就是哈希表。

1、python中的基本类型都是Hashtable,如str、bytes、数字类型、tuple等;

2、用户自定义类型默认是hashtable,因为它们的hash值是id()值;

3. Frozenset 始终是hashtable,因为它们的所有项都定义为hashtable;

4、只有当tuple内的所有项都是hashtable的时候,tuple才是hashtable。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享