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中copy()方法的使用

  copy()方法返回字典的浅拷贝。 语法 以下是copy()方法的语法: dict.copy() 参数     NA 返回值...

python实现tail -f 功能

tailf与tail -f类似:当文件不增长时并不访问文件 tail -f:只跟踪文件内容 tail -F:文件内容与文件名都跟踪 这篇文章最初是因为reboot的群里,有人去面试,笔试...

python实现xlsx文件分析详解

python实现xlsx文件分析详解

python脚本实现xlsx文件解析,供大家参考,具体内容如下 环境配置: 1.系统环境:Windows 7 64bit 2.编译环境:Python3.4.3 3.依赖库: os s...

Pandas之groupby( )用法笔记小结

Pandas之groupby( )用法笔记小结

groupby官方解释 DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_...

linux 下python多线程递归复制文件夹及文件夹中的文件

本文是利用python 复制文件夹 刚开始写了一个普通的递归复制文件夹    然后想了想 觉得对io频繁的程序 threading 线程还比较友好  就写了...