python 字典操作提取key,value的方法


Posted in Python onJune 26, 2019

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

1.为字典增加一项

python 字典操作提取key,value的方法

2.访问字典中的值

python 字典操作提取key,value的方法

3、删除字典中的一项

python 字典操作提取key,value的方法

4、遍历字典

python 字典操作提取key,value的方法

5、字典遍历的key\value

python 字典操作提取key,value的方法

6、字典的标准操作符

python 字典操作提取key,value的方法

7、判断一个键是否在字典中

python 字典操作提取key,value的方法

8、python中其他的一些字典方法

python 字典操作提取key,value的方法
python 字典操作提取key,value的方法

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'}

11、字典多键值及重复键值的使用方法(详解)

方案一

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现栈的方法
May 26 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
python对excel文档去重及求和的实例
Apr 18 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
对python append 与浅拷贝的实例讲解
May 04 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python进阶之@property动态属性的实现
Apr 01 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
python数组循环处理方法
Aug 26 Python
django如何自定义manage.py管理命令
Apr 27 Python
通过PYTHON来实现图像分割详解
Jun 26 #Python
Flask模板引擎之Jinja2语法介绍
Jun 26 #Python
如何使用Python实现自动化水军评论
Jun 26 #Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 #Python
Python 数据可视化pyecharts的使用详解
Jun 26 #Python
python 实现交换两个列表元素的位置示例
Jun 26 #Python
python之信息加密题目详解
Jun 26 #Python
You might like
php邮件发送,php发送邮件的类
2011/03/24 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
python的id()函数解密过程
2012/12/25 Python
Python的函数嵌套的使用方法
2014/01/24 Python
Python实现简单的可逆加密程序实例
2015/03/05 Python
python常用函数详解
2016/09/13 Python
Python编程求质数实例代码
2018/01/31 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python多进程编程常用方法解析
2020/03/26 Python
pandas数据拼接的实现示例
2020/04/16 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
教师四风自我剖析材料
2014/09/30 职场文书
承租经营合作者协议书
2014/10/01 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
分享几个简单MySQL优化小妙招
2022/03/31 MySQL