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实现简单截取中文字符串的方法
Jun 15 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
Python实现类的创建与使用方法示例
Jul 25 Python
python代码实现ID3决策树算法
Dec 20 Python
python八皇后问题的解决方法
Sep 27 Python
Python中创建二维数组
Oct 17 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
Python 恐龙跑跑小游戏实现流程
Feb 15 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生成数组再传给js的方法
2014/08/07 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
PHP实现简易计算器功能
2020/08/28 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
JS实现随机点名器
2020/04/12 Javascript
python列表操作使用示例分享
2014/02/21 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
python 实现二维列表转置
2019/12/02 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
基于python图像处理API的使用示例
2020/04/03 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
高三励志标语
2014/06/05 职场文书
推广活动策划方案
2014/08/23 职场文书
学校运动会简讯
2015/07/20 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python