在Python 字典中一键对应多个值的实例

yipeiwu_com5年前Python基础

如下所示:

#encoding=utf-8
 
print '中国'
 
#字典的一键多值
 
print'方案一 list作为dict的值 值允许重复'
 
d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value)
 
print d1
 
#获取值
print '方案一 获取值'
print list(d1[key])
 
print '方案一 删除值,会留下一个空列表'
d1[key].remove(value)
d1[key].remove(value)
print d1
 
print '方案一 检查是否还有一个值'
print d1.get(key,[])
 
print '方案二 使用子字典作为dict的值 值不允许重复'
 
d1={}
key=1
keyin=2
value=11
d1.setdefault(key,{})[keyin]=value
keyin=2
value=22
d1.setdefault(key,{})[keyin]=value
keyin=3
value=33
d1.setdefault(key,{})[keyin]=value
 
print d1
 
print '方案二 获取值'
print list(d1[key])
 
print '方案二 删除值,会留下一个空列表'
del d1[key][keyin]
keyin=2
del d1[key][keyin]
print d1
 
print '方案二 检查是否还有一个值'
print d1.get(key,())
 
print '方案三 使用set作为dict的值 值不允许重复'
d1={}
key=1
value=2
d1.setdefault(key,set()).add(value)
value=2
d1.setdefault(key,set()).add(value)
value=3
d1.setdefault(key,set()).add(value)
 
print d1
 
print '方案三 获取值'
print list(d1[key])
 
print '方案三 删除值,会留下一个空列表'
d1[key].remove(value)
value=2
d1[key].remove(value)
print d1
 
print '方案三 检查是否还有一个值'
print d1.get(key,())

打印结果:

中国

方案一 list作为dict的值 值允许重复

{1: [2, 2]}
获取值
[2, 2]
删除值,会留下一个空列表
{1: []}
检查是否还有一个值
[]

方案二 使用子字典作为dict的值 值不允许重复

{1: {2: 22, 3: 33}}
获取值
[2, 3]
删除值,会留下一个空列表
{1: {}}
检查是否还有一个值
{}

方案三 使用set作为dict的值 值不允许重复

{1: set([2, 3])}
获取值
[2, 3]
删除值,会留下一个空列表
{1: set([])}
检查是否还有一个值
set([])

以上这篇在Python 字典中一键对应多个值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现的系统实用log类实例

本文实例讲述了python实现的系统实用log类。分享给大家供大家参考。具体如下: 每个系统都必不可少会需要一个log类,方便了解系统的运行状况和排错,python本身已经提供了一个lo...

对python中Json与object转化的方法详解

对python中Json与object转化的方法详解

python提供了json包来进行json处理,json与python中数据类型对应关系如下: 一个python object无法直接与json转化,只能先将对象转化成dictiona...

python通过安装itchat包实现微信自动回复收到的春节祝福

python通过安装itchat包实现微信自动回复收到的春节祝福

itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。 开源地址 https://github.com/littlecodersh/ItChat 文档: http...

对python的unittest架构公共参数token提取方法详解

额。。。每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了。。。 那么有没有一种方法能把token提取出来,作为一个全局变...

Python openpyxl模块原理及用法解析

Python openpyxl模块原理及用法解析

这篇文章主要介绍了Python openpyxl模块原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 此模块不是Pytho...