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读取网页内容的方法
Jul 30 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
python进行TCP端口扫描的实现
Dec 21 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
python如何实现异步调用函数执行
Jul 08 Python
python的slice notation的特殊用法详解
Dec 27 Python
分享几种python 变量合并方法
Mar 20 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个人网站架设连环讲(一)
2006/10/09 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
session在PHP大型web应用中的使用
2011/06/25 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
详解vue-router 路由元信息
2017/09/13 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
生产部经理岗位职责
2013/12/16 职场文书
会计自荐信范文
2014/03/09 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
导游词之潮音寺
2019/09/26 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL