首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

08-字典基础(一)

前言

前几节中我们学了列表,列表这种数据结构适合于将值组织到一个结构中,并且通过编号对其进行应用,但是我们一般记录某种数据一般都会用名字来查找,本节你会学到一种通过名字来引用值得数据结构。

这种类型的数据结构成为映射。字典是Python中唯一内建的映射类型。

字典中的值没有特殊的顺序,但是都是存储在一个特定的值(Key)下。键可以是数字、字符串甚至是元组

4.1 字典的使用

以下这些情况,字典比列表更适用:

表示一个游戏棋盘的状态,每个键都是由坐标值组成的元素

存储文件修改时间,用文件名作为键

数字电话/地址簿

4.2 创建和使用字典

字典可以通过下面的方式创建

phonebook={'Alice':'0234','Jane':'1111','May':'9989'}

字典由多个键,与其对应的值构成的键-值对组成(我们也把键-值成为项)。

每个键和他的值之间用冒号(:)隔开,项之间用(,)隔开,整个字典由一个大括号括起来

上例中名字是键,电话号码是值

注意:字典中键是唯一的,而值并不唯一

4.3 dict函数

dict函数:通过其他映射(比如其他字典)或者(键、值)对的序列建立字典

items=[('name','Gumby'),('age','42')]d=dict(items)d#输出{'name':'Gumby','age':'42'}

4.3 基本字典操作

4.3.1 基本操作

字典的基本行为在很多方面与序列类似:

len(d)返回d中项(键-值对)的数量

d[k]返回关联到键k的值

d[k]=v将值v关联到键k上

del d[k]删除键为k的项

k in d检查d中是否含有键为k的项

4.3.2 字典和列表的不同

键类型

字典的键不一定为整数数据(但也可以是),键可以是任意的不可变类型,比如浮点型(实型)、字符串或元组

自动添加

即使键起初在字典中并不存在,也可以为它赋值,这样字典就会建立新的项。而(在不使用append方法或者其他类似操作的情况下)不能将值关联到列表范围之外的索引上

成员资格

表达式k in d(d为字典)查找的是键,而不是值。

表达式v in l(l为字典)则用来查找值,而不是索引。

注意: 在字典中检查键的成员资格比在列表中检查值的成员资格更高效,数据结构的规模越大,两者的效率差距越明显。

4.4 字典的格式化字符串

07节我们学会了如何使用字符串格式化元组中所有的值,如果使用的是字典而不是元组呢?下面我们来看看!

使用方法:在每个转换说明符中的%字符后面,可以加上键(用圆括号括起来的),后面再跟上其他说明元素(依次为转换标志、最小字段宽度、精度值、转换类型)

说明:和之前的元组的格式化的区别在于增加字符串键,其余还是和以前一样工作

phonebook={'Alice':'0234','Jane':'1111','May':'9989'}

'Alice’s phone number is %(Alice)s'%(phonebook)

#输出'

Alice’s phone number is 0234'

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180112G0VNAI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券