前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 字典操作提取key,value

python 字典操作提取key,value

作者头像
用户7886150
修改2021-01-13 10:04:46
1.4K0
修改2021-01-13 10:04:46
举报
文章被收录于专栏:bit哲学院

参考链接: Python字典| update方法

python 字典操作提取key,value dictionaryName[key] = value 

欢迎加入Python快速进阶QQ群:867300100 

 **1.为字典增加一项** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxNzA5NjYy?x-oss-process=image/format,png) **2.访问字典中的值** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxNzIzNzg2?x-oss-process=image/format,png) **3、删除字典中的一项** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxODA4Nzcx?x-oss-process=image/format,png) **4、遍历字典** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxODI5OTc3?x-oss-process=image/format,png) **5、字典遍历的key\value** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxODQzOTIz?x-oss-process=image/format,png) **6、字典的标准操作符** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxODU4MzEx?x-oss-process=image/format,png) **7、判断一个键是否在字典中** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxOTE4MzI1?x-oss-process=image/format,png) **8、python中其他的一些字典方法** ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxOTM1OTQ4?x-oss-process=image/format,png) ![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwODE0MTcxOTQ4MzI1?x-oss-process=image/format,png) **9、将两个字典合并 ** 

a={'a':1,'b':2,'c':3}

b= {'aa':11,'bb':22,'cc':33}

#方法一

print(dict(a,**b))

#方法二 这其实就是在内存中创建两个列表,再创建第三个列表,拷贝完成后,创建新的dict,删除掉前三个列表。这个方法耗费性能,而且对于python3,这个无法成功执行,因为items()返回是个对象。

print(dict(list(a.items())+list(b.items())))

#方法三

c={}

c.update(a)

c.update(b)

print(c)

#方法四  python 3.5支持,可以存在重复键值,比如说:a={'a':1,'b':2,'c':3,'aa':12}会报错TypeError: print() got multiple values for keyword argument 'aa'

print(**a,**b)

他们的输出结果都是:

{'bb': 22, 'cc': 33, 'aa': 11, 'a': 1, 'b': 2, 'c': 3}

注意如果存在相同键值,比如说: a={'a':1,'b':2,'c':3,'aa':12} b= {'aa':11,'bb':22,'cc':33} 那么方法一\二\三得到结果为 

{'cc': 33, 'a': 1, 'bb': 22, 'c': 3, 'b': 2, 'aa': 11}

而方法四则会报错: 

 TypeError: print() got multiple values for keyword argument ‘aa’ **10、key和value互换 ** 方法一: 

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

dict_ori = {'A':1, 'B':2, 'C':3}

dict_new = {value:key for key,value in dict_ori.items()}

print(dict_new)

{1: ‘A’, 2: ‘B’, 3: ‘C’} 

方法二: 使用zip方法 

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

dict_ori = {'A':1, 'B':2, 'C':3}

dict_new2= dict(zip(dict_ori.values(), dict_ori.keys()))

print(dict_new2)

{1: ‘A’, 2: ‘B’, 3: ‘C’} 

**10、字典多键值及重复键值的使用方法(详解) ** 方案一 

#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,[]) )

方案一输出结果 

中国

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

{1: [2, 2]}

方案一 获取值

[2, 2]

方案一 删除值,会留下一个空列表

{1: []}

方案一 检查是否还有一个值

[]

方案二 

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,()) )

方案二输出结果 

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

{1: {2: 22, 3: 33}}

方案二 获取值

[```2, 3]

方案二 删除值,会留下一个空列表

{1: {}}

方案二 检查是否还有一个值

{}

方案三 

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 ('方案三 获取值' )

print (list(d1[key]) )

print ('方案三 删除值,会留下一个空列表')

d1[key].remove(value)

value=2

d1[key].remove(value)

print (d1 )

print ('方案三 检查是否还有一个值' )

print (d1.get(key,()) )

输出结果: 

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

{1: {2, 3}}

方案三 获取值

[2, 3]

方案三 删除值,会留下一个空列表

{1: set()}

方案三 检查是否还有一个值

set()

相关应用直通车: 自然语言处理:直通车 Nosql-mongodb:直通车

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档