python字典setdefault方法后接append()的理解
目录
- 1.举例
- 2.运行结果
- 3.setdefault方法的官方描述
- 4.分析
- 5.总结
1.举例
在编程中,我们有时会见到python字典在setdefault方法后面接.append(),我们来看一个例子:
2.运行结果
那应该怎么理解这个程序的第5行代码呢?可以从程序的运行结果入手:
3.setdefault方法的官方描述
我们看到产生的列表是由一个个键值对,键是名字的首字母,值是名字的全拼,这种方法的好处在于可以减少程序运行的时间。但我们先不去赘述方法,在此仅讨论append的位置为什么会在setdefault后面。
我们先看setdefault
的官方文档的描述:
setdefault(key[, default])
If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.
也就是说:
如果key这个键在列表中存在,返回值是其键值。
如果key这个键在列表中不存在,返回值是[,default]的值。
4.分析
因此,函数第4、5行代码:
for girl in girls:lettergirls.setdefault(girl[0],[]).append(girl)
girl是变量,girls是列表,lettergirls是字典
我们从左往右分析:
lettergirls.setdefault(girl[0],[])
这部分的含义是,在lettergirls这个字典中,寻找girl[0]元素(也就是girl变量的首字母),如果没找到,就返回它的默认值[]
这个空列表。
那么,lettergirls.setdefault(girl[0],[])
这部分我们可以看作[]
。而第五行代码也就可以按照[].append(girl)
理解。那么setdefault方法后接append()的原因也就迎刃而解了。
5.总结
总结一下:
lettergirls.setdefault(girl[0],[]).append(girl)
这行代码的作用就是,在lettergirls这个空字典中不断添加一个个键值对。键值对的组成是由girl变量的首字母充当键,girl变量整体置于列表中充当键值。(可对比上面命令提示符的图片进行理解)
python字典setdefault方法后接append()的理解相关推荐
- python的setdefault()方法
描述 Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法:dict.setdefau ...
- Python 字典 fromkeys()方法
Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None. fromkeys() 方法语法: 1 dict.f ...
- Python字典使用方法大全
Python字典使用方法大全 python中还有一种数据结构特别重要,就是字典.字典是键(key)-值(value)一一对应组成.这样的键-值组合叫做项.键与值之间用':'分隔,项之间用','分隔. ...
- Python 字典 values() 方法
描述 Python 字典 values() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回字典中的所有值. 语法 values() 方法语法: D.values() 参数 无 ...
- python字典增加方法_python增加字典项的方法
python增加字典项的方法 发布时间:2020-07-17 14:00:24 来源:亿速云 阅读:101 作者:清晨 这篇文章主要介绍python增加字典项的方法,文中介绍的非常详细,具有一定的参考 ...
- Python 字典 items()方法
Python 字典 items() 函数作用:以列表返回可遍历的(键, 值) 元组数组. items()方法语法: dict.items() 操作方法: dict = {'老大':'15岁','老二' ...
- [Python] 字典 items()方法:同时对字典的键和值进行遍历
描述: Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组. 语法: dict.items() 返回值: 返回可遍历的(键, 值) 元组数组. 主 ...
- Python字典合并方法大全
old = {'辽宁舰': '滑跃', '山东舰': '滑跃'} new = {'福建舰': '弹射'}today = {} today.update(old) today.update(new) p ...
- python字典append_python的dict 有append方法吗
展开全部 python的dict没有append方法.e68a843231313335323631343130323136353331333431363637 Python是一种计算机程序设计语言.是 ...
最新文章
- 一起来开发Android的天气软件(一)——功能规格介绍
- 机试题型_2020年焊工(技师)新版试题及焊工(技师)试题及答案
- word域转换html,word域代码转换html丢失解决办法.docx
- ai绘画到底有大强?我开发了一款ai绘画(来看看)
- python-selenium自动化测试网页
- python改变列的数据类型_更改Pandas中列的数据类型
- Git提交报错git-upload-pack
- 使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC
- 开发板------OK6410
- python做马尔科夫模型预测法_python实现隐马尔科夫模型HMM
- 工具型产品如何建立自己的商业化模式?
- GitHub中Organization的Member邀请和clone代码库
- 随机从长度未知的数组中抽取数字,且保证每个元素被抽到的概率相同
- 企业网盘+超融合,联想云加速的双引擎
- consul-esm介绍
- 跟siki学院教程学习愤怒的小鸟案例猪多次碰撞解决记录<一>
- 论文讲解-Tripartite: Tackle Noisy Labels by a More Precise Partition
- Android调用天气预报所对应的城市Id
- OnOK()与OnCancel()
- 计算机怎么音乐设置,怎样设置音乐一直播放?设置音乐一直播放教程
热门文章
- PostgreSQL 中文资料汇总
- 微信小程序分享获取携带参数以及参数接收
- 医疗产品设计的新趋势
- Oracle 忘记system密码后如何找回
- 雀雀JavaScript操作节点
- 【行人检测】行人检测综述
- CMAKE查找库:find_package和pkg_check_moduls的区别
- 使用Megascans,Blender和Substance 3D画家创建渔人旅馆(p2)
- Win10+TensorFlow-gpu1.10+CUDA9.0+Cudnn7.4.1 搭建深度学习gpu环境
- 拿好你的iPhone8,因为你真的摔不起