您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Python開發中字典和 json的區別是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Python開發中字典和 json的區別?字典是一種數據結構,json 是一種數據的表現形式,字典的 key 值只 要是能 hash 的就行,json 的必須是字符串。
Python開發中字典和 json的概念區別:
一、字典
字典是一種數據結構,而json是一種數據格式,格式就會有一些形式上的限制,比如json的格式要求必須且只能使用雙引號作為key或者值的邊界符號(值如果是數字可以不用加雙引號),不能使用單引號,用單引號或者不用引號會導致讀取數據錯誤,而且“key”必須使用邊界符(雙引號),但字典就無所謂了,可以使用單引號,也可以使用雙引號。
dict是一個完整的數據結構,是對Hash Table這一數據結構的一種實現,是一套從存儲到提取都封裝好了的方案。它使用內置的哈希函數來規劃key對應value的存儲位置,從而獲得O(1)的數據讀取速度。
二、json
json是JavaScript Object Notation的首字母縮寫,字面的意思是javascript對象表示法,這里說的json指的是類似于javascript對象的一種數據格式對象,目前這種數據格式比較流行,逐漸替換掉了傳統的xml數據格式, 前端使用ajax的時候后臺返回該前端的數據格式就是json格式的。
json是一種數據格式,是純字符串。可以被解析成Python的dict或者其他形式。
三、json和dict區別對比
json的key只能是字符串,python的dict可以是任何可hash對象(hashtable type);
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的區別是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。