主頁 > 知識(shí)庫(kù) > 淺談Python列表嵌套字典轉(zhuǎn)化的問題

淺談Python列表嵌套字典轉(zhuǎn)化的問題

熱門標(biāo)簽:京華圖書館地圖標(biāo)注 電話外呼系統(tǒng)招商代理 打印谷歌地圖標(biāo)注 佛山通用400電話申請(qǐng) 淮安呼叫中心外呼系統(tǒng)如何 看懂地圖標(biāo)注方法 廣東旅游地圖標(biāo)注 電話機(jī)器人貸款詐騙 蘇州人工外呼系統(tǒng)軟件

在看視頻教程的時(shí)候提到了[{'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值為對(duì)應(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ù)運(yùn)行結(jié)果:

其實(shí)就是將[{'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)],........

也就是 一個(gè)i.items() 代表一個(gè)[ ( x , y) ] 字典列表

雙重循環(huán)遍歷輸出i.items()結(jié)果:

程序的目的是獲得對(duì)應(yīng)的key,value值:

然后將上述的數(shù)據(jù)放到新定義的空字典中:

補(bǔ)充:python判斷字典是嵌套和嵌套字典列表

如下所示:

#coding: utf-8
import types
#獲取字典中的objkey對(duì)應(yīng)的值,適用于字典嵌套
#dict:字典
#objkey:目標(biāo)key
#default:找不到時(shí)返回的默認(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è)備序列號(hào)或驗(yàn)證碼錯(cuò)誤"}}
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))

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python列表嵌套常見坑點(diǎn)及解決方案
  • python 獲取字典鍵值對(duì)的實(shí)現(xiàn)
  • python 字典和列表嵌套用法詳解

標(biāo)簽:中山 畢節(jié) 衡水 股票 湖州 呼和浩特 駐馬店 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Python列表嵌套字典轉(zhuǎn)化的問題》,本文關(guān)鍵詞  淺談,Python,列表,嵌套,字典,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談Python列表嵌套字典轉(zhuǎn)化的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談Python列表嵌套字典轉(zhuǎn)化的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章