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标准异常和异常处理详解
Feb 02 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
用pickle存储Python的原生对象方法
Apr 28 Python
python之Character string(实例讲解)
Sep 25 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
有关Python的22个编程技巧
Aug 29 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Python hashlib常见摘要算法详解
Jan 13 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
教你怎么用python selenium实现自动化测试
May 27 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
SONY ICF-F10中波修复记
2021/03/02 无线电
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
python 多线程应用介绍
2012/12/19 Python
Python简单日志处理类分享
2015/02/14 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python实现按中文排序的方法示例
2018/04/25 Python
python斐波那契数列的计算方法
2018/09/27 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
青年文明号创建承诺
2014/03/31 职场文书
企业新年寄语
2014/04/04 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
数控机床专业自荐信
2014/05/19 职场文书
人事任命书格式
2014/06/05 职场文书
社区反邪教工作方案
2014/06/16 职场文书
2014年残联工作总结
2014/11/21 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书