python中dict使用方法详解


Posted in Python onJuly 17, 2019

dict的特性

dict是python中的一个可变的数据类型,用{}表示,dict的key必须是不可变的数据类型,而value的数据类型可以任意。

格式:{key:value,key:value,key:value}
注: 键值对如果是字符串使用单引号,最后一个键值对没有逗号

dict的优点

①:查询速度快,可以二分查找

②:key是不可以重复的

注:

 

不可变数据类型: 元组,bool,int , str 可以hash set

可变数据类型: dict ,list

dict的方法

1,增加的方法:dict有两种增加的方法

(1),如果没有的键值对,则进行添加,如果有,则将值进行覆盖

dict1={'name':'jinxin','age':18,'male':'男'}
print(dict1)
dict1['high']=185
print(dict1) # {'name': 'jinxin', 'age': 18, 'male': '男', 'high': 185}
dict1['age']=16
print(dict1) # {'name': 'jinxin', 'age': 16, 'male': '男', 'high': 185}

(2),如果有键值对,不做任何改变,没有键值对,才进行添加

dict1.setdefault("weight")
print(dict1) #{'name': 'jinxin', 'age': 16, 'male': '男', 'high': 185, 'weight': None}
dict1.setdefault('weight','65kg')
print(dict1) #{'name': 'jinxin', 'age': 16, 'male': '男', 'high': 185, 'weight': None}
dict1.setdefault('address','北京')
print(dict1) #{'name': 'jinxin', 'age': 16, 'male': '男', 'high': 185, 'weight': None, 'address': '北京'}

2,dict的删除方法

(1),使用pop()删除,如果有键,则删除,如果没有则会报错,如果不希望出现报错信息,可以在删除的后面添加信息

delDict={'name': 'jinxin', 'age': 16, 'male': '男', 'high': 185, 'weight': None, 'address': '北京'}
# delDict.pop('age') #dict的删除操作是有返回值的
print(delDict.pop('age')) # 16
print(delDict) #{'name': 'jinxin', 'male': '男', 'high': 185, 'weight': None, 'address': '北京'}
print(delDict.pop('职业','没有此键')) #没有此键

(2),使用popitem()删除,随机删除,返回的是一个元组,元组里面存储的删除的键值,推荐使用pop()方法进行删除

print(delDict.popitem()) # ('address', '北京')

随机删除,返回值是删除的键值对

print(delDict) #{'name': 'jinxin', 'male': '男', 'high': 185, 'weight': None}

(3),使用del()删除,del()可以删除整个字典,也可以删除字典的某个键,如果删除的键不存在,则会出现报错

del delDict['name']
print(delDict) #{'male': '男', 'high': 185, 'weight': None}
#使用del清空列表
del delDict
print(delDict) #delDict已经删除,报错

(4),清空列表也可以使用clear()

3,dict的修改

#直接修改
updateDict={'name':'jinxin','age':18,'male':'男'}
updateDict['name']='Jordan'
print(updateDict['name']) #Jordan

#调用update()修改
dictDemo={'name':"Jordan",'age':18}
dictDemo1={'address':'北京海淀','age':22}
dictDemo.update(dictDemo1)
print(dictDemo)

4,字典的查询

(1)查询字典的键:调用keys()方法

查询字典的值:调用values()方法

# 字典的查
dict1={'name':'jinxin','age':18,'male':'男'}
print(dict1.keys()) #dict_keys(['name', 'age', 'male'])
print(dict1.values()) #dict_values(['jinxin', 18, '男'])
print(dict1.items())# dict_items([('name', 'jinxin'), ('age', 18), ('male', '男')])

#打印dict1的键
for i in dict1.keys():
  print(i ) # name age value

#打印dict的值
for v in dict1.values():
  print(v) #jinxin 18 男

#打印字典的键值:

dict1={'name':'jinxin','age':18,'male':'男'}

for i in dict1.items():
  print(i) # ('name', 'jinxin') ('age', 18) ('male', '男')
  
for k,v in dict1.items():
  print(k,v) # name jinxin age 18  male 男

(2),字典的get()方法:使用get()方法可以查询某个键是否存在,如果不存在此键,则会返回None,但是可以在get()方法中添加信息避免出现None

dict1={'name':'jinxin','age':18,'male':'男'}
print(dict1.get('name')) #jinxin
print(dict1.get('address')) # None
print(dict1.get('address','没有此键')) #没有此键

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

Python 相关文章推荐
Python中的两个内置模块介绍
Apr 05 Python
Python做文本按行去重的实现方法
Oct 19 Python
Python编程求质数实例代码
Jan 31 Python
python Tkinter的图片刷新实例
Jun 14 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
python的sys.path模块路径添加方式
Mar 09 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
Python开发入门——迭代的基本使用
Sep 03 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
python 实现的截屏工具
May 08 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
python实现简单聊天功能
Jul 07 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 #Python
python对矩阵进行转置的2种处理方法
Jul 17 #Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 #Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 #Python
python中update的基本使用方法详解
Jul 17 #Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 #Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 #Python
You might like
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
JQuery 入门实例1
2009/06/25 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
python框架flask表单实现详解
2019/11/04 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
中学教师实习自我鉴定
2013/09/28 职场文书
《日月潭》教学反思
2014/02/28 职场文书
施工安全承诺书
2014/05/22 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
Tomcat弱口令复现及利用
2022/05/06 Servers
Nginx 匹配方式
2022/05/15 Servers