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


Posted in Python onJanuary 20, 2019

循环写入字典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字典循环添加一键多值的用法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入解析Python编程中super关键字的用法
Jun 24 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
使用python实现滑动验证码功能
Aug 05 Python
python中的列表与元组的使用
Aug 08 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
python十进制转二进制的详解
Feb 07 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
Python list和str互转的实现示例
Nov 16 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
python中opencv实现图片文本倾斜校正
Jun 11 Python
Elasticsearch 基本查询和组合查询
Apr 19 Python
在PyCharm中批量查找及替换的方法
Jan 20 #Python
Python 移动光标位置的方法
Jan 20 #Python
Pycharm之快速定位到某行快捷键的方法
Jan 20 #Python
python实现画五角星和螺旋线的示例
Jan 20 #Python
在Pycharm中对代码进行注释和缩进的方法详解
Jan 20 #Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 #Python
django解决跨域请求的问题详解
Jan 20 #Python
You might like
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
python读取csv文件示例(python操作csv)
2014/03/11 Python
详解Python中heapq模块的用法
2016/06/28 Python
python 自定义对象的打印方法
2019/01/12 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
Python 文件数据读写的具体实现
2020/01/24 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Python接口自动化测试的实现
2020/08/28 Python
称象教学反思
2014/02/03 职场文书
学生会竞聘书范文
2014/03/31 职场文书
《雪儿》教学反思
2014/04/17 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
初中优秀学生评语
2014/12/29 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
活动简报范文
2015/07/22 职场文书
关于五一放假的通知
2015/08/18 职场文书
学习心得体会
2019/06/20 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript