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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
跟老齐学Python之总结参数的传递
Oct 10 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
在Django中创建第一个静态视图
Jul 15 Python
Python的Django框架中设置日期和字段可选的方法
Jul 17 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
为什么称python为胶水语言
Jun 16 Python
Python3如何使用tabulate打印数据
Sep 25 Python
小结Python的反射机制
Sep 28 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判断指定时间段的2个方法
2014/03/14 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
详解vue-cli 接口代理配置
2017/12/13 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
JS实现简单打字测试
2020/06/24 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
python三引号如何输入
2020/07/06 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
财务学生的职业生涯发展
2014/02/11 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
公务员个人年终总结
2015/02/12 职场文书
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers