Python字典循环添加一键多值的用法实例
作者:风中摇曳的叶子 发布时间:2021-07-15 14:48:48
标签: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
来源:https://blog.csdn.net/a1084958096/article/details/78375563


猜你喜欢
- 有过网页制作经验的朋友一定知道:一般来讲,把表格的边框定义为1px时,即border=1,而实际上是2
- 一、ASP中处在双引号中的可以是任意的字符、字符串,HTML代码1.<%response.write ("I&nb
- 本文实例讲述了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法。分享给大家供大家参考。具体实现方法如下:# 这里将一个
- 在利用QT编写GUI程序时经常需要一些交互操作,常见的有鼠标事件、键盘事件等。今天我们要实现的是在label中已经显示的图像中绘制矩形框,以
- torch.Tensor类型的数据loss和acc打印时如果写成以下写法print('batch_loss: '+str(l
- 我就废话不多说了,大家还是直接看代码吧~from docx import Documentfrom docx import RTimport
- location.href这个东西常常用于跳转,location既是window对象的属性,又是document对象的属性。JavaScri
- MySQLMySQL的特点1、性能卓越,服务稳定,很少出现异常宕机;2、开放源代码无版本制约,自主性及使用成本低;3、历史悠久,社区和用户非
- 目录1、前言2、详解1、前言使用中如果我们想把python可识别对象的dict类型的数据通过str类型写入文件或者存入变量中就需要用到dum
- 背景:工作过程中需要对现有的机器、服务做监控,当服务出现问题后,邮件通知对应的人问题:使用python 2.7自带的email库来进行邮件的
- +function(){}();这里的加号,也可以替换成!,~等其他一元操作符,其效果相当于:(function() { console.l
- 为项目设置虚拟环境Python的虚拟环境可以类似于Java中Tomcat容器。其主要作用是为了给不同的工程创建相互独立的运行环境,在虚拟环境
- 本篇目标抓取淘宝MM的姓名,头像,年龄抓取每一个MM的资料简介以及写真图片把每一个MM的写真图片按照文件夹保存到本地熟悉文件保存的过程&nb
- 什么是循环呢?简单理解,循环就是反复的去做某一件事情。生活中的例子:比如我们听歌的时候,在歌曲的页面就会出现单曲循环、列表循环、随机播放以及
- 相比于2018年,在ICLR2019提交论文中,提及不同框架的论文数量发生了极大变化,网友发现,提及tensorflow的论文数量从2018
- 在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式
- Python是一种非常流行的脚本语言,而且功能非常强大,几乎可以做任何事情,比如爬虫、网络工具、科学计算、树莓派、Web开发、游戏等各方面都
- Python爬虫包 BeautifulSoup 递归抓取实例详解概要:爬虫的主要目的就是为了沿着网络抓取需要的内容。它们的本质是
- 延续上一篇的话题继续,顺便放上一篇的传送门:点这里。集群的必要性consul本身就是管理集群的,现在还需要给consul搞个集群,这是为啥?
- exec sp_configure 'show advanced options',1 reconfigure exec s