第4章 字典:当索引不好用时
![](http://picture-repository-of-heamon7.qiniudn.com/第4章 Pyhon-字典:当索引不好用时.png)
第4章 字典:当索引不好用时
4.1 字典的使用
字典是Python唯一内建的映射类型,通过名字进行引用,键可以是数字,字符串,元组
4.2创建和使用字典
字典中键是唯一的,是无序的
dict函数可以将其他映射(比如其他字典)或者(键,值)这样的序列(序列内套二元组)对建立成字典,也可以直接通过关键字参数创建字典
字典的基本行为在很多方面与序列类似,但字典的成员资格查找的是键而不是值
字典的格式化字符串需要在每个转换说明符中的%字符后面加上用括号括起来的键,这类字符串格式化在模板系统中非常有用
常见方法
clear方法用来清空字典
copy方法返回一个具有相同键-值对的新字典,但实现的是浅复制,在副本中替换值的时候,原始字典不受影响,但修改某个值时(原地修改,而不是替换),则原始字典也会改变,因为此时修改的是同一个引用。要实现深复制可以使用copy模块的deepcopy函数
fromkeys方法使用给定的键建立新的字典,每个键默认对应的值为None,可以传入第二个参数作为默认值。
get方法是一个更为宽松的访问字典项的方法,如果试图访问字典中不存在的项时,不会报错,返回None
has_key方法可以检查字典中是否含有给出的键,相当于成员资格函数
items和iteritems。items方法将所有的字典项以列表方式返回,相当于dict的逆方法,无顺序。而iteritems方法返回一个迭代器对象而不是列表
keys和iterkeys方法将字典中的键以列表和迭代器返回
pop方法用来获得对应于给定键的值,并移除这个键值对
popitem方法弹出字典中随机的项
setdefault方法类似于get方法,能够获得与给定键相关联的值,setdefault还能在字典中不含有给定键的情况下设定相应地键值,不设定则默认为None
update方法可以利用一个字典项更新另外一个字典,若有相同的键则会进行覆盖
values和itervalues方法将字典的值以列表和迭代器对象