小編給大家分享一下python中字典和json的區(qū)別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)頁空間、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、扎囊網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
python中,json和dict非常類似,都是key-value的形式,而且json、dict也可以非常方便的通過dumps、loads互轉(zhuǎn)。
定義
python中,json和dict非常類似,都是key-value的形式,而且json、dict也可以非常方便的通過dumps、loads互轉(zhuǎn)。既然都是key-value格式,為啥還需要進行格式轉(zhuǎn)換?
json(JavaScript Object Notation)
json:是一種數(shù)據(jù)格式,是純字符串。可以被解析成Python的dict或者其他形式。
dict:是一個完整的數(shù)據(jù)結(jié)構(gòu),是對Hash Table這一數(shù)據(jù)結(jié)構(gòu)的一種實現(xiàn),是一套從存儲到提取都封裝好了的方案。它使用內(nèi)置的哈希函數(shù)來規(guī)劃key對應value的存儲位置,從而獲得O(1)的數(shù)據(jù)讀取速度。
json和dict對比
json的key只能是字符串,python的dict可以是任何可hash對象(hashtable type);
json的key可以是有序、重復的;dict的key不可以重復。
json的value只能是字符串、浮點數(shù)、布爾值或者null,或者它們構(gòu)成的數(shù)組或者對象。
json任意key存在默認值undefined,dict默認沒有默認值;
json訪問方式可以是[],也可以是.,遍歷方式分in、of;dict的value僅可以下標訪問。
json的字符串強制雙引號,dict字符串可以單引號、雙引號;
dict可以嵌套tuple,json里只有數(shù)組。
json:true、false、null
python:True、False、None
json中文必須是unicode編碼,如"\u6211".
json的類型是字符串,字典的類型是字典。
hashtable
一個對象當其聲明周期內(nèi)的hash值不發(fā)生改變,而且可以跟其他對象進行比較時,這個對象就是hashtable的。
1、python中的基本類型都是Hashtable,如str、bytes、數(shù)字類型、tuple等;
2、用戶自定義的類型默認都是hashtable,因為它們的hash值就是id()值;
3、frozenset始終都是hashtable的,因為它們所有的項目都是被定義成hashtable的;
4、只有當tuple內(nèi)的所有項都是hashtable的時候,tuple才是hashtable。
以上是python中字典和json的區(qū)別是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:python中字典和json的區(qū)別是什么
本文來源:http://www.chinadenli.net/article36/iigisg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站設計、網(wǎng)站策劃、品牌網(wǎng)站設計、定制開發(fā)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)