一:字典
字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键里,键可以是数字,字符串甚至是元组
1,1创建字典
字典由多个键及与其对应的值构成的对组成,字典中的键是唯一的,而值并不唯一
列如:
1.2 dict 函数, 可以用dict函数,通过其他映射或者键,值,这样的序列对建立字典
二 基本字典操作
字典的基本行为在很多方面与序列相似:
len(d)返回d中项(键值对)的数量
d[k]返回关联到键k上的值
d[k]=v将值v关联到键k上
del d[k]删除键k的项
k in d 检查d中是否有含有键为k的项
不同点:
键类型:字典的键不一定为增型数据(但也可能是),也可能是其他不可变类型,比如浮点型(实型),字符串或者元组
自动添加:即使那个键初在字典中并不存在,也可能它分配一个值,这样字典就会建立新的项,而(在不适用append方法或者其他类似操作的情况下)不能将值关联到列表范围之外的索引上
成员资格:表达式 k in d (d为字典) 查找的是键,而不是值,表达式v in l(l为列表)则是用来查钊值的而不是索引,
三: 字典方法
3.1 clear 方法清除字典中所有项
3.2 copy方法返回一个具有相同键值对的新字典(这个方法实现的是浅复制)
3.3 fromkeys 方法使用给定的键建立新的字典,每个键默认对应的值为None
3.4 get方法是一个更宽松的访问字典项的方法
3.5 has_key 方法可以检查字典中是否含有给出的键,表达式d.has_key(k)相当于表达式k in d 使用哪个方式很大程度上取决于个人的爱好,Python3.0中不包含这个函数
3.6 items和iteritems
items方法将所有字典项以列表的方式返回,这些列表项中的每一个项都来自于键值,但是项在返回时并没有特殊的顺序
iteritems 方法的作用大致相同,但是会返回一个迭代器对象而不是列表
3.7 keys和iterkeys
keys方法将字典中的键以列表形式返回
iterkeys则返回针对键的迭代器
3.8 pop 方法用来获取对应给定键的值,然后将这个键值对从字典中移除
3.9 update 方法可以利用一个字典项更新另一个字典
3.10 setdefault 方法在某种程度上类似于get方法,除此之外,setdefault还能在字典中不含有给定键的情况下设定相应的值