詳解python中的json和字典dict
定義
python中,json和dict非常類似,都是key-value的形式,而且json、dict也可以非常方便的通過dumps、loads互轉(zhuǎn)。既然都是key-value格式,為啥還需要進(jìn)行格式轉(zhuǎn)換?
json(JavaScript Object Notation)
json:是一種數(shù)據(jù)格式,是純字符串??梢员唤馕龀蒔ython的dict或者其他形式。
dict:是一個(gè)完整的數(shù)據(jù)結(jié)構(gòu),是對Hash Table這一數(shù)據(jù)結(jié)構(gòu)的一種實(shí)現(xiàn),是一套從存儲到提取都封裝好了的方案。它使用內(nèi)置的哈希函數(shù)來規(guī)劃key對應(yīng)value的存儲位置,從而獲得O(1)的數(shù)據(jù)讀取速度。
json和dict對比
- json的key只能是字符串,python的dict可以是任何可hash對象(hashtable type);
- json的key可以是有序、重復(fù)的;dict的key不可以重復(fù)。
- json的value只能是字符串、浮點(diǎn)數(shù)、布爾值或者null,或者它們構(gòu)成的數(shù)組或者對象。
- json任意key存在默認(rèn)值undefined,dict默認(rèn)沒有默認(rèn)值;
- json訪問方式可以是[],也可以是.,遍歷方式分in、of;dict的value僅可以下標(biāo)訪問。
- json的字符串強(qiáng)制雙引號,dict字符串可以單引號、雙引號;
- dict可以嵌套tuple,json里只有數(shù)組。
- json:true、false、null
- python:True、False、None
- json中文必須是unicode編碼,如"\u6211".
- json的類型是字符串,字典的類型是字典。
hashtable
一個(gè)對象當(dāng)其聲明周期內(nèi)的hash值不發(fā)生改變,而且可以跟其他對象進(jìn)行比較時(shí),這個(gè)對象就是hashtable的。
1、python中的基本類型都是Hashtable,如str、bytes、數(shù)字類型、tuple等;
2、用戶自定義的類型默認(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é)
以上所述是小編給大家介紹的on中的json和字典dict,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式
- python 實(shí)現(xiàn)dict轉(zhuǎn)json并保存文件
- Python XML轉(zhuǎn)Json之XML2Dict的使用方法
- 對python中dict和json的區(qū)別詳解
- Python之dict(或?qū)ο?與json之間的互相轉(zhuǎn)化實(shí)例
- Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實(shí)現(xiàn)代碼
- python3 dict ndarray 存成json,并保留原數(shù)據(jù)精度的實(shí)例
- python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
- python Yaml、Json、Dict之間的轉(zhuǎn)化
相關(guān)文章
PyCharm刷新項(xiàng)目(文件)目錄的實(shí)現(xiàn)
今天小編就為大家分享一篇PyCharm刷新項(xiàng)目(文件)目錄的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

使用 Celery Once 來防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù)

Python數(shù)據(jù)分析庫pandas高級接口dt的使用詳解

配置python的編程環(huán)境之Anaconda + VSCode的教程

Python使用日志模塊快速調(diào)試代碼并記錄異常信息

python把ipynb文件轉(zhuǎn)換成pdf文件過程詳解