字典:如果想将值分组到一个结构中,并且通过编号对其进行引用,列表就能派上用场了。字典是一种通过名字引用值的数据结构,字典中的值并没有特殊的顺序,但是都是存储在一个特定的键(Key)里,键可以是数字、字符串或者元组。
创建和使用字典:
字典是由多个键及与其对应的值构成的对组成(键/值对称为项),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典是由一对大括号括起来,空字典(不包括任何项)由两个大括号组成,字典中的键是唯一的,而值并不唯一
>>> phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'} #定义字典
也可以通过dict函数来建立字典
>>> items=[('name','Gumby'),('age',42)]
>>> d=dict(items) #通过dict函数来建立映射关系
>>> d
{'age': 42, 'name': 'Gumby'}
>>> dd=dict(name='Clef',age=42) #通用是通过dict函数来建立映射关系的另一种表达
>>> dd
{'age': 42, 'name': 'Clef'}
基本的字典操作:
字典的基本行为在很多方面与序列(sequence)类似
- len(d)返回d中项(键-值对)的数量
- d[k]返回关联到键k上的值
- d[k]=v将值v关联到键k上
- del d[k]删除键为k的项
- k in d检查d中是否有含有键为k的项
尽管字典和列表有很多特性相同,但也有下面一些重要的区别
- 键类型:字典的键不一定为整型数据,也可能是其他不可变类型,比如浮点数(实型)、字符串或者元组
- 自动添加:即使那个键起初在字典中并不存在,也可以为它分配一个值,这样字典就会建立新的项
- 成员资格:表达式k in d(d为字典)查找的是键,而不是值,表达式v in l(l为列表)则用来查找值,不是索引
>>> x=[] #x为空的列表
>>> x[2