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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
Python使用matplotlib绘制动画的方法
May 20 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
Python脚本实现12306火车票查询系统
Sep 30 Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
Python基础之文件读取的讲解
Feb 16 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
python多线程爬取西刺代理的示例代码
Jan 30 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
简单介绍Python中的RSS处理
2015/04/13 Python
简单了解Python中的几种函数
2017/11/03 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python3 max()函数基础用法
2019/02/19 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python的互斥锁与信号量详解
2019/09/12 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
python中time.ctime()实例用法
2021/02/03 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
应付会计岗位职责
2013/12/12 职场文书
工程招投标邀请书
2014/01/30 职场文书
小学捐书活动总结
2014/07/05 职场文书
生活部的活动方案
2014/08/19 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
城南旧事电影观后感
2015/06/16 职场文书
运输公司工作总结
2015/08/11 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android