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搭建虚拟环境的步骤详解
Sep 27 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
django中的HTML控件及参数传递方法
Mar 20 Python
详解python单元测试框架unittest
Jul 02 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
Tensorflow 多线程设置方式
Feb 06 Python
python实现扑克牌交互式界面发牌程序
Apr 22 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
JS实现分页导航效果
2020/02/19 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
python Django模板的使用方法
2016/01/14 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
Python定义一个Actor任务
2020/07/29 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
逻辑链路控制协议
2016/10/01 面试题
行政主管岗位职责
2013/11/18 职场文书
校长岗位职责
2013/11/26 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
党员干部公开承诺书
2014/03/26 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript
详解Python中__new__方法的作用
2022/03/31 Python