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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
python中的__init__ 、__new__、__call__小结
Apr 25 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python连接DB2数据库
Aug 27 Python
python自带的http模块详解
Nov 06 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
Python集合操作方法详解
Feb 09 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 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 根据IP地址控制访问的代码
2010/04/22 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
Yii使用技巧大汇总
2015/12/29 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
Python中time模块和datetime模块的用法示例
2016/02/28 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Python变量赋值的秘密分享
2018/04/03 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
名人演讲稿范文
2013/12/28 职场文书
班干部演讲稿
2014/04/24 职场文书
个人考核材料
2014/05/15 职场文书
2014年物流工作总结
2014/11/25 职场文书
Pandas数据结构之Series的使用
2022/03/31 Python