淺談Python列表嵌套字典轉(zhuǎn)化的問題
在看視頻教程的時候提到了[{’a’ : 97}, {’b’ : 98}, {’c’ : 99}, {’d’ : 100}, {’e’ : 101}, ...........]形式的列表嵌套形式,
要求是將上述列表轉(zhuǎn)換為{’a’ : 97,’b’ : 98,’c’ : 99 ,’d’ : 100,’e’ : 101,。。。。。}的字典形式
首先上述的a--->97, b--->98,。。。。。意思是key為a到z的英文小寫字母,value值為對應(yīng)的ascii碼,
那么一開始可以結(jié)合range()方法定義變量如下:
那么alpha = [’a’,’b’,’c’,........’z’]
轉(zhuǎn)換為[{’a’ : 97}, {’b’ : 98}, {’c’ : 99}, {’d’ : 100}, {’e’ : 101}, ...........]的代碼可以結(jié)合map()函數(shù)來生成
函數(shù)運行結(jié)果:
其實就是將[{’a’ : 97}, {’b’ : 98}, {’c’ : 99}, {’d’ : 100}, {’e’ : 101}, ...........]遍歷打印出來的結(jié)果。
然后就是要將上述的形式轉(zhuǎn)換為
{’a’ : 97,’b’ : 98,’c’ : 99 ,’d’ : 100,’e’ : 101,。。。。。}
本人采用的是Python字典中的items()函數(shù)方法:
i.items()的作用:使 { x : y } ---------》[ (x , y ) ]
結(jié)果就是:
{’a’ : 97}, {’b’ : 98}, {’c’ : 99}, {’d’ : 100}, {’e’ : 101}, ...........---------》 [(’a’ , 97)],[(’b’ : 98)],........
也就是 一個i.items() 代表一個[ ( x , y) ] 字典列表
雙重循環(huán)遍歷輸出i.items()結(jié)果:
程序的目的是獲得對應(yīng)的key,value值:
然后將上述的數(shù)據(jù)放到新定義的空字典中:
補(bǔ)充:python判斷字典是嵌套和嵌套字典列表
如下所示:
#coding: utf-8import types#獲取字典中的objkey對應(yīng)的值,適用于字典嵌套#dict:字典#objkey:目標(biāo)key#default:找不到時返回的默認(rèn)值def dict_get(dict, objkey, default): tmp = dict for k,v in tmp.items(): if k == objkey: return v else: if type(v) is types.DictType: ret = dict_get(v, objkey, default) if ret is not default: return ret return default#如dicttest={'result':{'code':'110002','msg':'設(shè)備設(shè)備序列號或驗證碼錯誤'}}ret=dict_get(dicttest, ’msg’, None)print(ret)
字典的列表
'network': { 'tls': [], 'udp': [ { 'src': '192.168.56.102', 'dst': '114.114.114.114', 'offset': 2372, 'time': 9.506472110748291, 'dport': 53, 'sport': 51394 }, { 'src': '192.168.56.102', 'dst': '114.114.114.114', 'offset': 2611, 'time': 2.232347011566162, 'dport': 53, 'sport': 53604 }] }for k,v in mydict.items(): if type(v) is types.ListType: for val in v: if type(val) is types.DictType: for key,value in val.items(): print('%s:%s'%(key,value)) else: print('%s:%s'%(k,v))
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. XML入門的常見問題(二)3. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進(jìn))4. jsp實現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法5. 如何在jsp界面中插入圖片6. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)7. 得到XML文檔大小的方法8. JavaScrip簡單數(shù)據(jù)類型隱式轉(zhuǎn)換的實現(xiàn)9. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法10. ASP.NET Core實現(xiàn)中間件的幾種方式
