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中set使用
Jun 30 Python
详解Python文本操作相关模块
Jun 22 Python
Python中的 enum 模块源码详析
Jan 09 Python
详解用Python练习画个美队盾牌
Mar 23 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
Django实现后台上传并显示图片功能
May 29 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
Python reques接口测试框架实现代码
Jul 28 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
Sep 23 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 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框架的性能
2008/01/10 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python中的global关键字的使用方法
2019/08/20 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
二手书店创业计划书
2014/01/16 职场文书
市场部管理制度
2014/02/02 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
绿色环保倡议书
2015/04/28 职场文书
党员转正申请报告
2015/05/15 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书