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

yipeiwu_com6年前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作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。 可执行伪代码 P...

Python判断两个文件是否相同与两个文本进行相同项筛选的方法

python判断两个文件是否相同 import hashlib def getHash(f): line=f.readline() hash=hashlib.md5()...

python 实现矩阵填充0的例子

需求: 原矩阵 [[1 2 3] [4 5 6] [7 8 9]] 在原矩阵元素之间填充元素 0,得到 [[1. 0. 2. 0. 3.] [0. 0. 0. 0. 0....

Python 如何提高元组的可读性

这篇文章主要介绍了Python 如何提高元组的可读性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 假设学生系统中数据为固定格式:(名...

Python实现八皇后问题示例代码

八皇后问题描述 问题: 国际象棋棋盘是8 * 8的方格,每个方格里放一个棋子。皇后这种棋子可以攻击同一行或者同一列或者斜线(左上左下右上右下四个方向)上的棋子。在一个棋盘上如果要放八个...