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使用pyhook监控键盘并实现切换歌曲的功能

自己在玩dota的时候有时候喜欢边玩游戏边听音乐,但是切换下一曲的时候必须得切出游戏,而切换音乐的热键ctrl+alt+方向键在游戏的时候没有用,好事蛋疼,今天试试使用python来实现...

python操作ie登陆土豆网的方法

本文实例讲述了python操作ie登陆土豆网的方法。分享给大家供大家参考。具体如下: 这里利用ie操作登陆土豆网,很简单,仅做一下记录,以备后用。 # -*- coding: utf...

python实现简单的单变量线性回归方法

python实现简单的单变量线性回归方法

线性回归是机器学习中的基础算法之一,属于监督学习中的回归问题,算法的关键在于如何最小化代价函数,通常使用梯度下降或者正规方程(最小二乘法),在这里对算法原理不过多赘述,建议看吴恩达发布在...

pandas DataFrame 行列索引及值的获取的方法

pandas DataFrame是二维的,所以,它既有列索引,又有行索引 上一篇里只介绍了列索引: import pandas as pd df = pd.DataFrame({'...

纯python实现机器学习之kNN算法示例

纯python实现机器学习之kNN算法示例

前面文章分别简单介绍了线性回归,逻辑回归,贝叶斯分类,并且用python简单实现。这篇文章介绍更简单的 knn, k-近邻算法(kNN,k-NearestNeighbor)。 k-近邻...