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常见的格式化输出小结
Dec 15 Python
python2.7安装图文教程
Mar 13 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
python实现简单http服务器功能
Sep 17 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
python中的列表与元组的使用
Aug 08 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
使用python3 实现插入数据到mysql
Mar 02 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
解决virtualenv -p python3 venv报错的问题
Feb 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
Python实现栈的方法
2015/05/26 Python
python从入门到精通(DAY 1)
2015/12/20 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python3.6的venv模块使用详解
2018/08/01 Python
python实现名片管理系统
2018/11/29 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python中web框架的自定义创建
2019/09/08 Python
python函数不定长参数使用方法解析
2019/12/14 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
单位消防安全制度
2014/01/12 职场文书
医院总经理岗位职责
2014/02/04 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
个人收入证明模板
2014/09/18 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技