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访问MySQL封装的常用类实例
Nov 11 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
numpy中索引和切片详解
Dec 15 Python
使用Python实现企业微信的自动打卡功能
Apr 30 Python
python面向对象 反射原理解析
Aug 12 Python
浅析python redis的连接及相关操作
Nov 07 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Pytorch 数据加载与数据预处理方式
Dec 31 Python
Python ORM编程基础示例
Feb 02 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
详解Python 中的容器 collections
Aug 17 Python
Django自带用户认证系统使用方法解析
Nov 12 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
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php实现httpRequest的方法
2015/03/13 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
Python 命令行参数sys.argv
2008/09/06 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
Python批量发送post请求的实现代码
2018/05/05 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
解决python对齐错误的方法
2020/07/16 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
初中英语教学反思
2014/01/25 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
大专护理专业自荐信
2015/03/25 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL