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中的startswith和endswith函数使用实例
Aug 25 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
Sanic框架安装与简单入门示例
Jul 16 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
python实现梯度下降算法的实例详解
Aug 17 Python
Python开发简易五子棋小游戏
May 02 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运行环境配置的详解
2013/06/04 PHP
php随机抽奖实例分析
2015/03/04 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
写自已的js类库需要的核心代码
2012/07/16 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
总结Python编程中函数的使用要点
2016/03/20 Python
Python实现随机选择元素功能
2017/09/14 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
python进阶之自定义可迭代的类
2019/08/20 Python
python tkinter canvas使用实例
2019/11/04 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
构建高效的python requests长连接池详解
2020/05/02 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
感恩的演讲稿
2014/05/06 职场文书
小学节能减排倡议书
2014/05/15 职场文书
交警失职检讨书
2015/01/26 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript