溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解python中的json和字典dict

發(fā)布時間:2020-08-29 18:01:48 來源:腳本之家 閱讀:202 作者:AmyZYX 欄目:開發(fā)技術

定義

python中,json和dict非常類似,都是key-value的形式,而且json、dict也可以非常方便的通過dumps、loads互轉。既然都是key-value格式,為啥還需要進行格式轉換?

json(JavaScript Object Notation)

json:是一種數(shù)據(jù)格式,是純字符串??梢员唤馕龀蒔ython的dict或者其他形式。

dict:是一個完整的數(shù)據(jù)結構,是對Hash Table這一數(shù)據(jù)結構的一種實現(xiàn),是一套從存儲到提取都封裝好了的方案。它使用內置的哈希函數(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,或者它們構成的數(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

一個對象當其聲明周期內的hash值不發(fā)生改變,而且可以跟其他對象進行比較時,這個對象就是hashtable的。

1、python中的基本類型都是Hashtable,如str、bytes、數(shù)字類型、tuple等; 
2、用戶自定義的類型默認都是hashtable,因為它們的hash值就是id()值; 
3、frozenset始終都是hashtable的,因為它們所有的項目都是被定義成hashtable的; 
4、只有當tuple內的所有項都是hashtable的時候,tuple才是hashtable;

總結

以上所述是小編給大家介紹的on中的json和字典dict,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI