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项目发布为exe可执行程序过程分享
Oct 23 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
详解python之简单主机批量管理工具
Jan 27 Python
Php多进程实现代码
May 07 Python
django与小程序实现登录验证功能的示例代码
Feb 19 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 Python
python中删除某个元素的方法解析
Nov 05 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
python里glob模块知识点总结
Jan 05 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
理解PHP5中static和const关键字的区别
2007/03/19 PHP
优化PHP代码的53条建议
2008/03/27 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
PHP之header函数详解
2021/03/02 PHP
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Python协程的用法和例子详解
2017/09/09 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
python3中数组逆序输出方法
2020/12/01 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
会计电算化专业毕业生自荐信
2013/12/20 职场文书
银行类自荐信
2014/02/04 职场文书
残疾人小组计划书
2014/04/27 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
办公室管理规章制度
2015/08/04 职场文书
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript