Python字典循环添加一键多值的用法实例

 更新时间:2019年01月20日 11:39:29   作者:风中摇曳的叶子  
今天小编就为大家分享一篇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

以上这篇Python字典循环添加一键多值的用法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python 执行shell命令并将结果保存的实例

    python 执行shell命令并将结果保存的实例

    今天小编就为大家分享一篇python 执行shell命令并将结果保存的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python数学建模StatsModels统计回归之线性回归示例详解

    Python数学建模StatsModels统计回归之线性回归示例详解

    这篇文章主要为大家介绍了Python数学建模中StatsModels统计回归之线性回归的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • python提取内容关键词的方法

    python提取内容关键词的方法

    这篇文章主要介绍了python提取内容关键词的方法,适用于英文关键词的提取,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 如何使用Python代码创建表格

    如何使用Python代码创建表格

    如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助,下面这篇文章主要介绍了关于如何使用Python代码创建表格的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 关于pytorch中全连接神经网络搭建两种模式详解

    关于pytorch中全连接神经网络搭建两种模式详解

    今天小编就为大家分享一篇关于pytorch中全连接神经网络搭建两种模式详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python OpenCV机器学习之图像识别详解

    Python OpenCV机器学习之图像识别详解

    OpenCV中也提供了一些机器学习的方法,例如DNN等。本文将为大家详细介绍一下OpenCV中利用机器学习实现的一些图片识别功能:人脸识别、车牌识别等,感兴趣的可以了解一下
    2022-01-01
  • Python使用Appium在移动端抓取微博数据的实现

    Python使用Appium在移动端抓取微博数据的实现

    Appium是移动端的自动化测试工具,读者可以类比为PC端的selenium。通过它,我们可以驱动App完成自动化的一系列操作,同样也可以爬取需要的内容,本文就来介绍一下如何在移动端抓取微博数据,感兴趣的可以了解一下
    2021-08-08
  • Python 函数返回值的示例代码

    Python 函数返回值的示例代码

    这篇文章主要介绍了Python 函数返回值的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Matplotlib 3D 绘制小红花原理

    Matplotlib 3D 绘制小红花原理

    这篇文章主要介绍了Matplotlib 3D 绘制小红花原理,小编上一篇文章一家介绍了绘制小红化,本篇博文主要介绍一下3D小红花的绘制原理,看过上篇博文的朋友可以参考一下
    2022-02-02
  • python实现不同文件夹下的函数相互调用

    python实现不同文件夹下的函数相互调用

    这篇文章主要介绍了python实现不同文件夹下的函数相互调用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论