python字典一键多值_Python字典循环添加一键多值的用法实例

循环写入字典key、value、删除指定的键值对:

原文本‘jp_url.txt'每行元素以逗号分隔:

host_key,product_id,product_name,cont_start,cont_end

ah2.zhangyue.com,100002,掌阅,bookId=,&startChapterId

ih2.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(',')#每行按逗号分隔成列表

id=line_list[1]#取到id

name=line_list[2]#取到name

read_dict[id]=name#此处关键产生键值对,其中key是id

read_dict.pop('product_id')#删除key为‘product_id'的键值对

return read_dict

read_dict=makeDict()

循环写入一键对多值:

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

文本txt格式如下:

guaguashipinliaotianshi|.guagua.cn,

guaguashipinliaotianshi|iguagua.net,

guaguashipinliaotianshi|.17guagua.com,

jiuxiumeinvzhibo|.69xiu.com,

nbazhibo|.estream.cn,

youbo|yb.sxsapp.com,

其中第一列的名字有重复想要一个名字对应多个结果,代码如下:

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)#此处为关键向字典里已经有的key(name)值后继续添加value(host)

else:

host_dict.setdefault(name,[]).append(host)#创建{name,[host]}value为列表的格式的字典。

return host_dict

host_dict=makehostDict()

print host_dict

以上这篇Python字典循环添加一键多值的用法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值