我是靠谱客的博主 清脆路灯,这篇文章主要介绍python字典中如何一键多值的写入?,现在分享给大家,希望可以做个参考。

python字典中如何一键多值的写入?

python字典中一键多值写入的方法:

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

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

复制代码
1
2
3
4
5
6
7
8
9
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’.......}
登录后复制

代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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()
登录后复制

2、循环写入一键对多值:

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

文本txt格式如下:

  • guaguashipinliaotianshi|.guagua.cn,

  • guaguashipinliaotianshi|iguagua.net,

  • guaguashipinliaotianshi|.17guagua.com,

  • jiuxiumeinvzhibo|.69xiu.com,

  • nbazhibo|.estream.cn,

  • youbo|yb.sxsapp.com,


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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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视频教程》

以上就是python字典中如何一键多值的写入?的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是清脆路灯最近收集整理的关于python字典中如何一键多值的写入?的全部内容,更多相关python字典中如何一键多值内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部