11个Python3字典内置方法大全与示例汇总


Posted in Python onMay 13, 2019

概述

在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色。从我们的数据模型到服务器返回的参数到数据库的应用等等,Dictionary的身影无处不在。

在Python中,Dictionary是一种可变的容器类型。所谓容器类型,就是我们放置数据的地方。不同于List的有序、操作时对数据类型统一性的要求较严格,Dictionary是一种可变的、不限存储对象、无序的数据模型。

字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如列表,其他的字典等),下面就介绍了Python提供的11个字典内置方法的基本概述及简单示例。

方法 描述
clear 清除字典中所有键值对
copy 对字典进行浅拷贝,如需详细了解可以参考上上节可变对象的浅拷贝和深拷贝详解《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
fromkeys fromkeys(*args, **kwargs) 创建一个新字典,以序列的中元素做字典的键,value 为字典所有键对应的初始值
get get(self, k, d=None) 获取指定键k对应的值,如果该键不存在则返回d,默认为None 该方法可以用来判断某键是否包含在字典内
items 返回类似集合的可遍历的(键, 值) 元组列表
keys 返回类似集合的可遍历的键列表
pop 删除一个键并返回其对应的值
popitem 随机返回并删除字典中的一对键和值(一般删除末尾对),若列表为空再调用此方法会抛出KeyError异常
setdefault setdefault(self, k, d=None) 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值
update 更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中,将键值对添加到字典中,可能是字典,也可能是键-值对序列,详见实例
values 返回类似集合的可遍历的值列表

示例代码

# dict
import copy

# 示例字典
D = {
  'name': 'Ruo Data',
  'web': {
    'site': 'https://www.ruodata.com',
    'basic': 'github'
  },
  'major': 'python'
}

print(D)

print('clear'.center(40, '-'))
# clear|清除字典中所有键值对
D1 = copy.deepcopy(D)
D1.clear()
print(D1)

print('copy'.center(40, '-'))
# copy|对字典进行浅拷贝,如需详细了解可以参考上上节可变对象的浅拷贝和深拷贝详解《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
D2 = copy.deepcopy(D)
D2_copy = D2.copy()
D2_copy['web']['articl_nums'] = 2
print(D2)

print('fromkeys'.center(40, '-'))
# fromkeys| fromkeys(*args, **kwargs) 创建一个新字典,以序列的中元素做字典的键,value 为字典所有键对应的初始值
D3 = dict.fromkeys(D)
print(D3)
D3 = dict.fromkeys(D, 'SSS')
print(D3)

print('get'.center(40, '-'))
# get| get(self, k, d=None) 获取指定键k对应的值,如果该键不存在则返回d,默认为`None` 该方法可以用来判断某键是否包含在字典内
value = D.get('name')
print(value)
# 判断键`'TEAM'`是否存在于D中:
if D.get('TEAM'):
  print(D.get('TEAM'))
else:
  print(None)

print('items'.center(40, '-'))
# items| 返回类似集合的可遍历的(键, 值) 元组列表。
items = D.items()
print(items)
# 利用items 遍历字典打印键值对:
for key, value in D.items():
  print('{}: {}'.format(key, value))

print('keys'.center(40, '-'))
# keys| 返回类似集合的可遍历的键列表
keys = D.keys()
print(keys)

print('pop'.center(40, '-'))
# pop| 删除一个键并返回其对应的值
D4 = copy.deepcopy(D)
value = D4.pop('name')
print(value)
print(D4)

print('popitem'.center(40, '-'))
# popitem| 随机返回并删除字典中的一对键和值(一般删除末尾对),若列表为空再调用此方法会抛出KeyError异常
D5 = copy.deepcopy(D)
key_value = D5.popitem()
print(key_value)
print(D5)

print('setdefault'.center(40, '-'))
# setdefault| setdefault(self, k, d=None) 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
D6 = copy.deepcopy(D)
key_value = D6.setdefault('major')
print(key_value)
key_value = D6.setdefault('UNKONW_KEY', 'UNKOWN_VALUE')
print(key_value)
print(D6)

print('update'.center(40, '-'))
# update| 更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中,将e中键-值对添加到字典d中,e可能是字典,也可能是键-值对序列。详见实例。
D7 = copy.deepcopy(D)

# 传一个字典
D7.update({'three': 3, 'four': 4})
print(D7)

# 传关键字
D7.update(five=5, six=6)
print(D7)

# 传一个包含一个或多个元组的列表
D7.update([('seven', 7), ('eight', 8)])
print(D7)

# 传一个包含一个或多个列表的元组
D7.update((['nice', 9], ['ten', 10]))
print(D7)

# 传一个zip()函数
D7.update(zip(['eleven', 'twelve'], [11, 12]))
print(D7)

# 使用以上任意方法修改存在的键对应的值
D7.update(one=111, two=222)
print(D7)

print('values'.center(40, '-'))
# values| 返回类似集合的可遍历的值列表
values = D.values()
print(values)

11个Python3字典内置方法大全与示例汇总

示例结果

11个Python3字典内置方法大全与示例汇总

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
python实现用于测试网站访问速率的方法
May 26 Python
python爬取淘宝商品详情页数据
Feb 23 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
Apr 11 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
Pandas实现一列数据分隔为两列
May 18 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
Django 实现图片上传和下载功能
Dec 31 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
python中的数据结构比较
May 13 #Python
Python中函数的基本定义与调用及内置函数详解
May 13 #Python
python实现弹跳小球
May 13 #Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 #Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 #Python
Python实现插入排序和选择排序的方法
May 12 #Python
Python中将两个或多个list合成一个list的方法小结
May 12 #Python
You might like
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
php面向对象重点知识分享
2019/09/27 PHP
使用jquery实现简单的ajax
2013/07/08 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python的词法分析与语法分析
2013/05/18 Python
对numpy中轴与维度的理解
2018/04/18 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
《山谷中的谜底》教学反思
2014/04/26 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
党员目标管理责任书
2014/07/25 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
三下乡个人总结
2015/03/04 职场文书
焦裕禄观后感
2015/06/03 职场文书
律师催款函范文
2015/06/24 职场文书
大学班长竞选稿
2015/11/20 职场文书
2019新员工心得体会
2019/06/25 职场文书
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript