詳解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)文章
Python?搭建?FastAPI?項(xiàng)目的詳細(xì)過程
這篇文章主要介紹了Python搭建FastAPI項(xiàng)目的過程,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
Python多線程threading模塊用法實(shí)例分析
這篇文章主要介紹了Python多線程threading模塊用法,結(jié)合實(shí)例形式分析了Python多線程threading模塊原理、功能、常見應(yīng)用及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-05-05
詳解python調(diào)度框架APScheduler使用
本篇文章主要介紹了詳解python調(diào)度框架APScheduler使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
在pycharm創(chuàng)建scrapy項(xiàng)目的實(shí)現(xiàn)步驟
這篇文章主要介紹了在pycharm創(chuàng)建scrapy項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python shell命令行中import多層目錄下的模塊操作
這篇文章主要介紹了python shell命令行中import多層目錄下的模塊操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
PyTorch?TensorFlow機(jī)器學(xué)習(xí)框架選擇實(shí)戰(zhàn)
這篇文章主要為大家介紹了PyTorch?TensorFlow機(jī)器學(xué)習(xí)框架選擇實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Python命令行參數(shù)解析模塊optparse使用實(shí)例
這篇文章主要介紹了Python命令行參數(shù)解析模塊optparse使用實(shí)例,本文講解了增加選項(xiàng)(add_option())、行為(action)、設(shè)置默認(rèn)值(default)、生成幫助提示(help)、設(shè)置boolean值、錯(cuò)誤處理、選項(xiàng)組(Grouping Options)等內(nèi)容,需要的朋友可以參考下2015-04-04

