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处理XML文件的方法
Aug 31 Python
python从list列表中选出一个数和其对应的坐标方法
Jul 20 Python
Python依赖包整体迁移方法详解
Aug 15 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
什么是python类属性
Jun 10 Python
Python语言编写智力问答小游戏功能
Oct 13 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
用60行代码实现Python自动抢微信红包
Feb 04 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
Python网络编程之ZeroMQ知识总结
Apr 25 Python
python 提取html文本的方法
May 20 Python
Python中time与datetime模块使用方法详解
Mar 31 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/07/09 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
python刷投票的脚本实现代码
2014/11/08 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
Python数组并集交集补集代码实例
2020/02/18 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
乡镇干部先进事迹材料
2014/02/03 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
中药学自荐信
2014/06/15 职场文书
财产分割协议书范本
2014/11/03 职场文书
公司经营目标责任书
2015/01/29 职场文书
行政复议决定书
2015/06/24 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python