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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
python以环状形式组合排列图片并输出的方法
Mar 17 Python
python实现文件快照加密保护的方法
Jun 30 Python
Python编程中time模块的一些关键用法解析
Jan 19 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
python实现随机漫步方法和原理
Jun 10 Python
Django 用户认证组件使用详解
Jul 23 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
wxPython实现列表增删改查功能
Nov 19 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
Scrapy中如何向Spider传入参数的方法实现
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 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
php实现cookie加密的方法
2015/03/10 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
材料加工硕士生求职信
2013/10/10 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
管理工程专业求职信
2014/08/10 职场文书
群众路线领导对照材料
2014/08/23 职场文书
汽车转让协议书范本
2014/12/07 职场文书
业务员岗位职责范本
2015/04/03 职场文书
交心谈心活动总结
2015/05/11 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL
正确使用MySQL update语句
2021/05/26 MySQL
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS