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多线程扫描端口示例
Jan 16 Python
vc6编写python扩展的方法分享
Jan 17 Python
python中的__init__ 、__new__、__call__小结
Apr 25 Python
深入源码解析Python中的对象与类型
Dec 11 Python
Python requests库用法实例详解
Aug 14 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
python中dict()的高级用法实现
Nov 13 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python实现Hash算法
Mar 18 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 静态化实现代码
2009/03/20 PHP
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
js控制input输入字符解析
2013/12/27 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
node跨域请求方法小结
2017/08/25 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python字符串处理实例详解
2017/05/18 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
历史学专业推荐信
2013/11/06 职场文书
财务管理专业推荐信
2013/11/19 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
初中成绩单评语
2014/12/29 职场文书
老公婚前保证书
2015/02/28 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书