請(qǐng)教一個(gè)python字符串處理的問題?
問題描述
本人初學(xué)python,想利用python解決一些工作生活上面的實(shí)際問題,這樣能提升更快一些。個(gè)人也不愿意做伸手黨,但遇到一個(gè)問題確實(shí)自己無法解決,特此求助各位高手。比如某程序會(huì)產(chǎn)生這樣的日志{TypeNameA:{JSON格式數(shù)據(jù)}}{TypeNameA:{JSON格式數(shù)據(jù)}}{TypeNameB:{JSON格式數(shù)據(jù)}}{TypeNameC:{JSON格式數(shù)據(jù)}}
怎樣先判斷TypeName,然后再把后面json格式的數(shù)據(jù)取出來,通過json.loads(xxx)的方式讀取為dict。再讀取其中的數(shù)據(jù)?還有由于不同Type的日志,后面的json格式層級(jí)也不盡相同。如果在這樣多層嵌套的字典中直接取到自己想要的內(nèi)容?比如{'person':{'name':{'firstname':'wang','oldname':'lee'}}}這樣,我想直接獲得firstname對(duì)應(yīng)的內(nèi)容,但是使用dict.get(’xxx’)明顯是不行的,因?yàn)檫@里firstname已經(jīng)不算是key,而且value的內(nèi)容
另外有個(gè)問題,dict[’key1’]與dict.get(’key’)這兩種方式,當(dāng)處理大量數(shù)據(jù)的時(shí)候,其速度和性能有沒有比較大的差異?
問題解答
回答1:dic[’person’][’name’][’firstname’]回答2:
firstname就是里面的詞典的key。你就寫這樣吧:
d = {'person':{'name':{'firstname':'wang','oldname':'lee'}}}d[’person’][’name’][’firstname’]回答3:
需要先用json.loads()把json格式轉(zhuǎn)換為字典,然后對(duì)字典’person’[’firstname’]層層提取
相關(guān)文章:
1. docker - 如何修改運(yùn)行中容器的配置2. javascript - avalon使用:duplex設(shè)置select默認(rèn)option的bug3. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)4. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?5. css - 對(duì)于類選擇器使用的問題6. 大家好,請(qǐng)問在python腳本中怎么用virtualenv激活指定的環(huán)境?7. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?8. Matlab和Python編程相似嗎,有兩種都學(xué)過的人可以說說嗎9. javascript - 移動(dòng)端textarea不能上下滑動(dòng),該怎么解決?10. javascript - 關(guān)于audio標(biāo)簽暫停的問題
