python字典一键多值实例代码分享

yipeiwu_com7年前Python基础

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基于回溯法子集树模板解决找零问题示例

Python基于回溯法子集树模板解决找零问题示例

本文实例讲述了Python基于回溯法子集树模板解决找零问题。分享给大家供大家参考,具体如下: 问题 有面额10元、5元、2元、1元的硬币,数量分别为3个、5个、7个、12个。现在需要给顾...

详解pyqt5 动画在QThread线程中无法运行问题

详解pyqt5 动画在QThread线程中无法运行问题

自己做了一个tcp工具,在学习动画的时候踩了坑,需求是根据上线变绿色,离线变灰色,如果连接断开了,则变为灰色 问题现象: 可以看到点击“连接”,“离线”的时候动画是正常的,但是当tcp...

python RabbitMQ 使用详细介绍(小结)

上节回顾 主要讲了协程、进程、异步IO多路复用。 协程和IO多路复用都是单线程的。 epoll  在linux下通过这个模块libevent.so实现 gevent&n...

Django中使用haystack+whoosh实现搜索功能

Django中使用haystack+whoosh实现搜索功能

为了实现项目中的搜索功能,我们使用的是全文检索框架haystack+搜索引擎whoosh+中文分词包jieba 安装和配置 安装所需包 pip install django-hays...

python psutil模块使用方法解析

psutil(进程和系统实用程序)是一个跨平台的库,用于 在Python中检索有关运行进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。 它主要用于系统监视,分析和限制流程资源...