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内置函数的用法实例教程
Sep 08 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
Python实现以时间换空间的缓存替换算法
Feb 19 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
关于python写入文件自动换行的问题
Jun 23 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Python实现的矩阵转置与矩阵相乘运算示例
Mar 26 Python
python实现文件的分割与合并
Aug 29 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
Python内置类型性能分析过程实例
Jan 29 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
用Python进行基础的函数式编程的教程
2015/03/31 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
Python数据存储之 h5py详解
2019/12/26 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
实习生岗位职责
2014/04/12 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
常住证明范本
2015/06/23 职场文书
企业年会祝酒词
2015/08/11 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS