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 相关文章推荐
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
Python实现针对中文排序的方法
May 09 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
Django中使用Whoosh进行全文检索的方法
Mar 31 Python
python opencv实现图像边缘检测
Apr 29 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
Python操作SQLite数据库过程解析
Sep 02 Python
Python3常用内置方法代码实例
Nov 18 Python
Python实现一个优先级队列的方法
Jul 31 Python
python实现AdaBoost算法的示例
Oct 03 Python
python em算法的实现
Oct 03 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
python3判断IP地址的方法
2021/03/04 Python
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
武汉东之林科技有限公司机试
2013/09/17 面试题
2013的个人自我评价
2013/12/26 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
经济管理专业求职信
2014/06/09 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
品德与社会教学反思
2016/02/24 职场文书