日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

json和python中字典的区别和联系_Python 中json与字典的关系

發(fā)布時(shí)間:2024/7/5 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json和python中字典的区别和联系_Python 中json与字典的关系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python開(kāi)發(fā)中字典和 json的概念區(qū)別:

json.dumps( dict )    字典變?yōu)樽址?/p>

json.loads( jsoninput )    字符變?yōu)樽值?/p>

一、字典

字典是一種數(shù)據(jù)結(jié)構(gòu),而json是一種數(shù)據(jù)格式,格式就會(huì)有一些形式上的限制,比如json的格式要求必須且只能使用雙引號(hào)作為key或者值的邊界符號(hào)(值如果是數(shù)字可以不用加雙引號(hào)),不能使用單引號(hào),用單引號(hào)或者不用引號(hào)會(huì)導(dǎo)致讀取數(shù)據(jù)錯(cuò)誤,而且“key”必須使用邊界符(雙引號(hào)),但字典就無(wú)所謂了,可以使用單引號(hào),也可以使用雙引號(hào)。

dict是一個(gè)完整的數(shù)據(jù)結(jié)構(gòu),是對(duì)Hash Table這一數(shù)據(jù)結(jié)構(gòu)的一種實(shí)現(xiàn),是一套從存儲(chǔ)到提取都封裝好了的方案。它使用內(nèi)置的哈希函數(shù)來(lái)規(guī)劃key對(duì)應(yīng)value的存儲(chǔ)位置,從而獲得O(1)的數(shù)據(jù)讀取速度。

二、json

json是JavaScript Object Notation的首字母縮寫(xiě),字面的意思是javascript對(duì)象表示法,這里說(shuō)的json指的是類(lèi)似于javascript對(duì)象的一種數(shù)據(jù)格式對(duì)象,目前這種數(shù)據(jù)格式比較流行,逐漸替換掉了傳統(tǒng)的xml數(shù)據(jù)格式, 前端使用ajax的時(shí)候后臺(tái)返回該前端的數(shù)據(jù)格式就是json格式的。

json是一種數(shù)據(jù)格式,是純字符串。可以被解析成Python的dict或者其他形式。

三、json和dict區(qū)別對(duì)比

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

json的key可以是有序、重復(fù)的;dict的key不可以重復(fù)。

json的value只能是字符串、浮點(diǎn)數(shù)、布爾值或者null,或者它們構(gòu)成的數(shù)組或者對(duì)象。

json任意key存在默認(rèn)值undefined,dict默認(rèn)沒(méi)有默認(rèn)值;

json訪問(wèn)方式可以是[],也可以是.,遍歷方式分in、of;dict的value僅可以下標(biāo)訪問(wèn)。

json的字符串強(qiáng)制雙引號(hào),dict字符串可以單引號(hào)、雙引號(hào);

dict可以嵌套tuple,json里只有數(shù)組。

json:true、false、null

python:True、False、None

json中文必須是unicode編碼,如"\u6211".

json的類(lèi)型是字符串,字典的類(lèi)型是字典。

四、hashtable

一個(gè)對(duì)象當(dāng)其聲明周期內(nèi)的hash值不發(fā)生改變,而且可以跟其他對(duì)象進(jìn)行比較時(shí),這個(gè)對(duì)象就是hashtable的。

1、python中的基本類(lèi)型都是Hashtable,如str、bytes、數(shù)字類(lèi)型、tuple等;

2、用戶自定義的類(lèi)型默認(rèn)都是hashtable,因?yàn)樗鼈兊膆ash值就是id()值;

3、frozenset始終都是hashtable的,因?yàn)樗鼈兯械捻?xiàng)目都是被定義成hashtable的;

4、只有當(dāng)tuple內(nèi)的所有項(xiàng)都是hashtable的時(shí)候,tuple才是hashtable;

總結(jié)

以上是生活随笔為你收集整理的json和python中字典的区别和联系_Python 中json与字典的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。