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实现数独算法实例
Jun 09 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
Python实现的质因式分解算法示例
May 03 Python
Pycharm设置界面全黑的方法
May 23 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
python 实现敏感词过滤的方法
Jan 21 Python
python多进程读图提取特征存npy
May 21 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
Python+OpenCV实现图片中的圆形检测
Apr 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图片验证码代码
2008/03/27 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
一句话JavaScript表单验证代码
2009/08/02 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
Python给图像添加噪声具体操作
2019/03/03 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
五一服装活动方案
2014/01/11 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
环保守法证明
2015/06/24 职场文书
创业计划书之美容店
2019/09/16 职场文书
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python
php实例化对象的实例方法
2021/11/17 PHP