淺談Python列表嵌套字典轉化的問題
在看視頻教程的時候提到了[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]形式的列表嵌套形式,
要求是將上述列表轉換為{'a' : 97,'b' : 98,'c' : 99 ,'d' : 100,'e' : 101,。。。。。}的字典形式
首先上述的a--->97, b--->98,。。。。。意思是key為a到z的英文小寫字母,value值為對應的ascii碼,
那么一開始可以結合range()方法定義變量如下:
那么alpha = ['a','b','c',........'z']
轉換為[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]的代碼可以結合map()函數來生成
函數運行結果:
其實就是將[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]遍歷打印出來的結果。
然后就是要將上述的形式轉換為
{'a' : 97,'b' : 98,'c' : 99 ,'d' : 100,'e' : 101,。。。。。}
本人采用的是Python字典中的items()函數方法:
i.items()的作用:使 { x : y } ---------》[ (x , y ) ]
結果就是:
{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........---------》 [('a' , 97)],[('b' : 98)],........
也就是 一個i.items() 代表一個[ ( x , y) ] 字典列表
雙重循環(huán)遍歷輸出i.items()結果:
程序的目的是獲得對應的key,value值:
然后將上述的數據放到新定義的空字典中:
補充:python判斷字典是嵌套和嵌套字典列表
如下所示:
#coding: utf-8 import types #獲取字典中的objkey對應的值,適用于字典嵌套 #dict:字典 #objkey:目標key #default:找不到時返回的默認值 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":"設備設備序列號或驗證碼錯誤"}} 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))
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
python讀取word文檔,插入mysql數據庫的示例代碼
今天小編就為大家分享一篇python讀取word文檔,插入mysql數據庫的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python借助with語句實現(xiàn)代碼段只執(zhí)行有限次
這篇文章主要介紹了Python借助with語句實現(xiàn)代碼段只執(zhí)行有限次,首先要定義一個能夠在with語句中使用的類實現(xiàn)enter和exit,下文詳細介紹需要的小伙伴可以參考一下2022-03-03python實現(xiàn)通過pil模塊對圖片格式進行轉換的方法
這篇文章主要介紹了python實現(xiàn)通過pil模塊對圖片格式進行轉換的方法,涉及Python中pil模塊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03