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 07 Python
Python and、or以及and-or语法总结
Apr 14 Python
简单实现python进度条脚本
Dec 18 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
Python文件操作方法详解
Feb 09 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
python 元组的使用方法
Jun 09 Python
pycharm全局搜索的具体步骤
Jul 28 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
Python实现天气查询软件
Jun 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
用来解析.htgroup文件的PHP类
2012/09/05 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
javascript调试说明
2010/06/07 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
树结构之JavaScript
2017/01/24 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Python中求对数方法总结
2020/03/10 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
会计自我鉴定
2014/02/04 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
低碳环保倡议书
2014/04/14 职场文书
综合内勤岗位职责
2014/04/14 职场文书
一年级学生期末评语
2014/04/21 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
毕业典礼主持词
2015/06/29 职场文书
个人欠条范本
2015/07/03 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书