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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
Python 12306抢火车票脚本
Feb 07 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
django 连接数据库 sqlite的例子
Aug 14 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
基于initPHP的框架介绍
2013/04/18 PHP
php 获取本地IP代码
2013/06/23 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
php封装的page分页类完整实例
2016/10/18 PHP
php数组指针操作详解
2017/02/14 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
js实现简单模态框实例
2018/11/16 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
Python自动重试HTTP连接装饰器
2015/04/28 Python
python实现爬虫下载美女图片
2015/07/14 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
3分钟学会一个Python小技巧
2018/11/23 Python
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
init进程的作用
2012/04/12 面试题
英智兴达软件测试笔试题
2016/10/12 面试题
军训自我鉴定200字
2014/02/13 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
欠条范文
2015/07/03 职场文书
Python读取和写入Excel数据
2022/04/20 Python