在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。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 为什么python不能输入单引号11/03
- ♥ 7个最佳的学习Python编程的开源库01/14
- ♥ 为什么python打不开08/25
- ♥ 如何在python中对字典进行排序12/13
- ♥ 什么是python脚本08/31
- ♥ python PyQt 添加菜单选项12/25
内容反馈