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 相关文章推荐
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
python图像常规操作
Nov 11 Python
python使用Flask操作mysql实现登录功能
May 14 Python
python将一组数分成每3个一组的实例
Nov 14 Python
python对于requests的封装方法详解
Jan 03 Python
使用TensorFlow实现二分类的方法示例
Feb 05 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
为什么是 Python -m
Jun 19 Python
Python configparser模块封装及构造配置文件
Aug 07 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和MySql来与ODBC数据连接
2006/10/09 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
跟老齐学Python之复习if语句
2014/10/02 Python
简单谈谈python的反射机制
2016/06/28 Python
Python3中的json模块使用详解
2018/05/05 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
工作疏忽检讨书
2014/01/25 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
Pygame Event事件模块的详细示例
2021/11/17 Python