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的Flask框架来构建一个简单的数字商品支付解决方案
Mar 31 Python
Python httplib模块使用实例
Apr 11 Python
用Python的Flask框架结合MySQL写一个内存监控程序
Nov 07 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
python实现狄克斯特拉算法
Jan 17 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
python实现字符串和数字拼接
Mar 02 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 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
C# Assembly类访问程序集信息
2009/06/13 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
PHP守护进程实例
2015/03/06 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
bootstrapvalidator之API学习教程
2017/06/29 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
js里面的变量范围分享
2020/07/18 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python局部赋值的规则
2013/03/07 Python
python测试驱动开发实例
2014/10/08 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Django 内置权限扩展案例详解
2019/03/04 Python
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
青春寄语大全
2014/04/09 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
入党积极分子群众意见
2015/06/01 职场文书