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实现下载整个ftp目录的方法
Jan 17 Python
Python变量和数据类型详解
Feb 15 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
python3实现名片管理系统
Nov 29 Python
使用pandas实现csv/excel sheet互相转换的方法
Dec 10 Python
PyCharm的设置方法和第一个Python程序的建立
Jan 16 Python
python实现dijkstra最短路由算法
Jan 17 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
python分分钟绘制精美地图海报
Feb 15 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python选择排序算法的实现代码
2013/11/21 Python
Pyramid添加Middleware的方法实例
2013/11/27 Python
python刷投票的脚本实现代码
2014/11/08 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Python编程实现正则删除命令功能
2017/08/30 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
Python递归函数特点及原理解析
2020/03/04 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
构建高效的python requests长连接池详解
2020/05/02 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
大专学生推荐信范文
2013/11/19 职场文书
房地产销售计划书
2014/01/10 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
保护动物的宣传语
2015/07/13 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
八年级语文教学反思
2016/03/03 职场文书