溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python字典循環(huán)添加一鍵多值的用法實(shí)例

發(fā)布時(shí)間:2020-08-25 21:32:04 來源:腳本之家 閱讀:202 作者:風(fēng)中搖曳的葉子 欄目:開發(fā)技術(shù)

循環(huán)寫入字典key、value、刪除指定的鍵值對(duì):

原文本‘jp_url.txt'每行元素以逗號(hào)分隔:

host_key,product_id,product_name,cont_start,cont_end
ah3.zhangyue.com,100002,掌閱,bookId=,&startChapterId
ih3.ireader.com,100002,掌閱,bid=,&
www.ireader.com,100002,掌閱,&bid=,&cid
m.zhangyue.com,100002,掌閱,readbook/,/
c13.shuqireader.com,100003,書旗,bookId=,&chapterId
t.shuqi.com,100003,書旗,bid/,/cid

想要得到:

{‘100002':‘product_name'.......}

代碼如下:

def makeDict():
  fileRead=open('jp_url.txt','rb')
  lines=fileRead.readlines()
  read_dict={}#定義字典
  for line in lines:
    line_list=line.split(',')#每行按逗號(hào)分隔成列表
    id=line_list[1]#取到id
    name=line_list[2]#取到name
    read_dict[id]=name#此處關(guān)鍵產(chǎn)生鍵值對(duì),其中key是id
  read_dict.pop('product_id')#刪除key為‘product_id'的鍵值對(duì)
  return read_dict
read_dict=makeDict()

循環(huán)寫入一鍵對(duì)多值:

其中格式{key:[value1,value2,...]}

文本txt格式如下:

guaguashipinliaotianshi|.guagua.cn,
guaguashipinliaotianshi|iguagua.net,
guaguashipinliaotianshi|.17guagua.com,
jiuxiumeinvzhibo|.69xiu.com,
nbazhibo|.estream.cn,
youbo|yb.sxsapp.com,

其中第一列的名字有重復(fù)想要一個(gè)名字對(duì)應(yīng)多個(gè)結(jié)果,代碼如下:

def makehostDict():
  host_dict={}
  f_allhost=open('xml_host.txt','rb')
  lines=f_allhost.readlines()
  for line in lines:
    line_list=line.split('|')
    name=line_list[0]
    host=line_list[1].strip('\n')
    if host is not '':
      if host_dict.has_key(name):
        host_dict.get(name).append(host)#此處為關(guān)鍵向字典里已經(jīng)有的key(name)值后繼續(xù)添加value(host)
      else:
        host_dict.setdefault(name,[]).append(host)#創(chuàng)建{name,[host]}value為列表的格式的字典。
  return host_dict
host_dict=makehostDict()
print host_dict

以上這篇Python字典循環(huán)添加一鍵多值的用法實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI