动态对象键_适用于字典对象的Pythonic用法

点击上方“Python小白集训营”,选“星标”公众号

重磅干货,第一时间送达

9b74dceb4ee11ea7aea32b5797ed0c08.png

图 | Pexels

日期 | 2021.1.4

今天我们的百日计划中解释到了字典对象,这是与数字、字符串、列表、元组并列为五大基本数据结构。

字典中的元素往往通过键来存取,而不是像列表那样,通过偏移进行存取。

以下为字典中的Pythonic用法,已经为大家整理完毕。

1.使用in/not in 检查key是否存在于字典

想要知道某个key,到底有没有存在于某个字典中时,初学者首先使用的方法往往是以列表形式将字典所有键返回,在这个基础上,判断Key是否存在于键列表中,如图所示:

f10af85fc2dff3465f647f35172e6bfb.png

而更Pythonic的使用方式为,利用“in”关键字来判断Key是否存在于字典中,如图所示:

831acc5f603e3bc5c9a07d9aa6baa535.png

2.使用setdefault()初始化字典键值

大部分人再使用字典时都会碰到一种情况,就是在应用场景下,动态更新字典。

如图所示,假设Key没有存在于Dictionary中时,就要在这行代码中添加它,并把它对应的值初始为空列表[],借着把元素append添加到空列表中。

5f456d315f1bf995f3358a62a99755a1.png

按正常逻辑走,这段代码不存在任何错误,但是我们可以使用setdefault来实现更Pythonic的编辑方式,见下图:

dfe1854862e0c232a0ddecc9b7266971.png

在调用satdefalt时,字典会先行检查,是否存在Key,如果存在该方法啥都不做的话,它就会自动创建一个Key,即使setdefault不存在的情况下,并把第二个参数[]作为Key的一个对应值。

3.使用defaultdict()初始化字典

如果在初始情况下,想要所有Key对应的值都是某个默认的初始值时,就要把字典进行初始化,好比有一批用户,它的初始信用积分在100,现在想要给a用户增加10分,代码如下:

f372f34710453b61d732168fae54f937.png

再用更Pythonic的方法操作一下:

0607ba02b94d1b288d1c227b74c6501a.png

defaultdict位于collections模块下,它是dict模块的子类,那它的语法结构便是:

25bb3dc4d5876a8c12d80a93b1a10fd5.png

首先,我们的default_factory是一个工厂方法,当某个键被初始化时,将会被自动调用。

而其中的value就是default_factory返回时候的值,剩下的参数与dict()函数接受的参数一致。

以上就是今日分享的字典对象Pythonic的实现方式,如果我写的内容对大家有所帮助,还请大家花1秒时间点个在看,让更多的人知道你在为自己的未来,拼尽全力。

祝你学有所成。

-END-

d62ac35bf901917b2b39c4750feca6ca.png

长按关注,领取更多干货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值