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中的元类(metaclass)
Feb 14 Python
总结Python编程中三条常用的技巧
May 11 Python
教你学会使用Python正则表达式
Sep 07 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
matplotlib实现区域颜色填充
Mar 18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
Python 实现简单的客户端认证
Jul 29 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
五种Python转义表示法
Nov 27 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 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 isset()与empty()的使用区别详解
2010/08/29 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
php header功能的使用
2013/10/28 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
理工科学生的自我评价
2013/12/15 职场文书
销售员岗位职责
2015/02/10 职场文书
校运会新闻稿
2015/07/17 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
nginx location优先级的深入讲解
2021/03/31 Servers
java executor包参数处理功能 
2022/02/15 Java/Android
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
使用Apache Camel表达REST服务的方法
2022/06/10 Servers