Python第五天
爬虫俱乐部之前推出的线下培训,得到了各位老师的一致好评。为了更加方便大家学习,满足更多Stata用户的学习需求,爬虫俱乐部已隆重推出在线直播课程,请大家奔走相告!课程报名链接:https://ke.qq.com/course/286526#tuin=9735fd2d,详情见推文《爬虫俱乐部隆重推出网上直播课程第一季》
有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~
喜大普奔~爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~
好消息:爬虫俱乐部即将推出研究助理供需平台,如果您需要招聘研究助理(Research Assistant or Research Associate),可以将您的需求通过我们的公众号发布;如果您想成为一个RA,可以将您的简历发给我们,进入我们的研究助理数据库。帮我们写优质的推文可以提升您被知名教授雇用的胜算呀!
之前的推文中曾经介绍过,python的数据结构总共有四种,分别是:列表(见推文《Python第二天》)、字典、元祖、集合。今天小编将给大家介绍字典的基本用法。
听到字典,或许对于初学者来说,脑子里第一个想到的或许是小学时老师要求我们买的那本厚厚的新华字典。想要在新华字典里查阅一个字,首先你得知道这个字对应的页码是多少,也就是说我们的新华字典是“页码→字”这样的关系。在Python中,字典中的元素也有这样类似的关系,被称为键—值对,每个键对应着一个值 ,它们之间用冒号分割,不同的键值对之间用逗号分隔,所有的键值对放在花括号里表示。需要注意的是,键在一个字典中是唯一的,不存在重复键字典的存在即是想解决开发者这样的一个需求:通过键索引到对应的值上,使代码更加简洁。
定义字典的写法如下:
d={key1:value1,key2:value2,key3:value3,……}
一、 访问字典中的元素
首先我们按照如上的方式创造一个字典,注意这里的值可以是任何数据类型,但是键必须是不可变的,如字符串、元祖等。访问字典中的元素的方式很简单,只需要指定字典名和放在方括号里的键即可,如下 :
info = {'yueyue':'0426','wenwne':'0128','fengfeng':'1004','lulu':'pig'}
print(info['yueyue'])
print(info['lulu'])
结果是:
二、 修改字典中的值
如果我们发现字典中某个键对应的值被错误输入了,或者值发生了变化需要更新,那么应该怎么进行修改呢?只需要指定字典的名字,将键放在中括号里,最后再定义键对应的新值即可。如下:
info['wenwen']='160'
info
结果是:
从最后一行显示的结果可以看到,之前键’wenwen’对应的值是’0128’,现在则经过修改变成了’160’。
三、 添加键值对
字典和列表一样都动态的,你可以往其中添加键—值对,只需要依次指定字典名,将要添加的键放在中括号内,还有与键相关联的值。如下:
info['Alice']='beautiful'
info
结果是:
在这里需要注意的是,如果你添加的键是字典中原本就有的,那么新添加的键对应的值就会把之前的值覆盖,而不是生成新的键值对,也就是说字典中键是唯一的。
四、 删除键值对
最后我们再来介绍如何删除字典中不再需要的信息,如果是只删除一对键—值对,那么需要使用的语句是del,如下:
del info['Alice']
info
结果是:
可以看到,键Alice以及它对应的值被成功删除了。
如果想要对整个字典进行一次性的清空,只需要进行如下操作:
info.clear()
info
结果是:
这样一来,整个名为info的字典里的内容全部被清空,又可以根据前面的介绍任意向字典中添加键值对啦 。
五、 常见应用
如果我们想知道一个字典中究竟有哪些键和哪些值该怎么操作呢?字典有两个方法分别为keys和values,用来查看键和值。使用这些方法的语法结构如下:
info = {'yueyue':'0426','wenwne':'0128','fengfeng':'1004','lulu':'pig'} #由于之前的字典info经过以上操作是空字典,故重新对字典的键值对进行定义
info.keys()
结果是:
info.values()
结果是:
如图所示,返回的结果都是由键和值组成的列表。
还有一种常见的情况是,我们想要知道某个特定的键是否在字典中,虽然你也可以通过上述info.keys()的方法来查看键,但是当字典中有很多键时,未免显得有些麻烦,在这里给大家介绍一种判断某个特定的键是否在字典中的方法:
print('niuniu' in info.keys())
print('fengfeng' in info.keys())
结果是:
当某个特定的键在字典中时,输出的结果为True,否则为False。
注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同,纯属巧合!以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
-文字编辑:祁让坤-
-技术总编:刘贝贝-
往期推文推荐:
2.hello,MySQL--Stata连接MySQL数据库
3.hello,MySQL--odbcload读取MySQL数据
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。