千锋教育-做有情怀、有良心、有品质的职业教育机构

python字典和json有什么区别

来源:千锋教育
发布时间:2023-11-09 11:15:46
分享

python中,json和dict非常类似,都是key-value的形式,而且json、dict也可以非常方便的通过dumps、loads互转。

定义

python中,json和dict非常类似,都是key-value的形式,而且json、dict也可以非常方便的通过dumps、loads互转。既然都是key-value格式,为啥还需要进行格式转换?

json(JavaScriptObjectNotation)

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

dict:是一个完整的数据结构,是对HashTable这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。它使用内置的哈希函数来规划key对应value的存储位置,从而获得O(1)的数据读取速度。

json和dict对比

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

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。

以上内容为大家介绍了python培训之字典和json有什么区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python如何对一个数向上取整 python中向上取整可以用ceil函数,ceil函数是在math模块下的一个函数。向上取整需要用到math模块中的ceil()方法:>>>importmath>>>math.ceil(3.25)4.
  • pythonstr是什么类型 python(特指Python3)中包含字符串,字符串的类型为str,字符串是Unicode码点(Unicodecodecodepoint)的序列,属于不可变类型。字符串有三种写法:单引号(Singl
  • pythonpython的声明变量类型 变量(variable)是Python语言中一个非常重要的概念。变量的主要作用就是为Python程序中的某个值起一个名字。类似于“张三”、“李四”、“王二麻子”一样的人名,便于记忆。在Python语言
  • python怎么输出反斜杠 python本身使用\来转义一些特殊字符,比如在字符串中加入引号的时候s='i\'msuperman'print(s)#i'msuperman为了防止和字符串本身的引号
  • pythonPython是软件吗? python并不是一款软件,而是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大
  • python怎么求一个数的平方根 在python中求一个数的平方根可以使用math模块,或者使用内置模块pow函数,还可以使用数学表达式,用两个**0.5表示。例如#-*-coding:UTF-8-*-#Filename:test.p