Python字典循环添加一键多值的用法实例
作者:风中摇曳的叶子 发布时间:2021-07-15 14:48:48
标签:Python,字典,一键,多值
循环写入字典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
来源:https://blog.csdn.net/a1084958096/article/details/78375563
0
投稿
猜你喜欢
- 中国,美国,英国3国时间js同步动态显示,对于做企业网站的朋友相信用的到,特别是做英文网站的朋友,加上这一段代码会给你的网站增色不少!本文j
- 作为入门者来说,了解JavaScript中timer的工作方式是很重要的。通常它们的表现行为并不是那么地直观,而这是因为它们都处在一个单一线
- 有些时候我们需要得到刚刚插入数据库中的条目id,用于相关系统的更改,在以前我是使用select+top 1+desc 这种笨方法实现的,在没
- VIM python下的一些关于缩进的设置:第一步: 打开终端,在终端上输入vim ~/.vimrc,回车。 第二步: 添加下面的文段:se
- 假如你拥有一个庞大的网站,内容又多,那么来访者往往很难找到自己所需要的东东,这时候你就需要一个站内搜索来帮助来访者更快的找到索要的资料了!现
- 一、导包案例我们导入第三方库,可以使用import。那我们现在有一个需求,我需要动态输入一个模块名,然后导入,这应该怎么做呢?#!/usr/
- 推荐idea最新激活码:最新Idea激活码永久激活(最新测试有效)https://www.jb51.net/article/178193.h
- 本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下:利用python脚本分析nginx日志内容
- 1、块级作用域想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域if 1 == 1: name = "lzl"
- AES加密方式有五种:ECB, CBC, CTR, CFB, OFB从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的p
- 原来看到这个代码的时候,觉得功能不错,调试并整理了一下也许大家用的到,对于越来越注重用户体验的今天,这种功能一定很受欢迎,当然本例子只是一个
- 如何正确显示模式对话框中的中文?msg.htm <html> <head> &nbs
- 淘宝的页面很复杂,如果使用分析ajax或者js的方式,很麻烦抓取淘宝‘美食'上面的所有食品信息spider.py#encoding:
- 在python的官方文档中:getattr()的解释如下:getattr(object, name[, default])Return th
- 目录题目描述示例 1:示例 2:示例 3:单向构造(哈希表计数)双向构造(双指针)最后题目描述这是 LeetCode 上的 1743. 从相
- 我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文
- Python Queue模块Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心
- 隐患一:如果客户端机器的cookie一旦因病毒而失效了,那么session也就相当于没有了。 隐患二:session在php中默认的是以文件
- 向量点乘 (dot) 和对应分量相乘 (multiply) :>>> aarray([1, 2, 3])>>&
- IE 5.5 中的 JScript 版本是 5.5 版,它比以前版本的 JScript 中多了如数组的 push、pop、shift、uns