字典是Python中唯一的内建的映射类型,这里是内建唯一,可以自己创建其他映射类型
键可以是数字、字符串甚至是元祖
字典的使用
...
创建和使用字典
>>> phonebook = {'Alice' : '2341', 'Beth' : '9102', 'Cecil' : '3258'}
dict函数
dict可以通过其他映射(如字典)或者键-值对的序列建立字典。
>>> seq = [('name', 'Gumby'), ('age', '42')]
>>> d = dict(seq)
>>> d
{'age': '42', 'name': 'Gumby'}
通过关键字参数创建字典
>>> d = dict(name = 'lili')
>>> d
{'name': 'lili'}
>>>
dict函数还可以以映射作为参数,来建立项目和映射相同的字典,如果映射为一个字典,可以使用copy方法
基本字典操作
很多方面和队列相似
len(d)
d[k]
d[k] = v
del d[k]
k in d
但是也有下面区别:
1.键类型:字典的键可以是任意不可变类型,如浮点型,字符串,元祖
2.自动添加:即使键期初不在字典中,也可以为它赋值
3.成员资格:表达式 k in d 查找的是键而非值
在字典中查找键比在列表中查找值的效率更高
字典的格式化字符串
>>> phonebook = {'Beth' : '9102', 'Alice' : '2341', 'Cecil' : '3258'}
>>> "Cecil's number is %(Cecil)s." % phonebook
"Cecil's number is 3258."
简单转换
>>> template = '''<html>
<head><title>%(title)s</title></head>
<body>
<h1>%(title)s</h1>
<p>%(text)s</p>
</body>'''
>>> data = {'title' : 'My Home Page', 'text' : 'Welcome to my homepage!'}
>>> print template % data
<html>
<head><title>My Home Page</title></head>
<body>
<h1>My Home Page</h1>
<p>Welcome to my homepage!</p>
</body>
>>>
在模板系统中的应用,一般来说只要关键字在字典里可以找到,模板中可以用任意数量的转换说明符。
字典方法
1.clear
2.copy
3.fromkeys:使用给定的键建立字典,每个键都对应一个默认值none
4.get:当访问字典中不存在的键时会返回none,而不会报错
5.has_key
6.items和iteritems
7.keys和iterkeys
8.pop
9.popitem
10.setdefault
11.update
12.values和ltervalues
小结
映射:映射可以使用任意不可变对象标识元素,最常用的类型是字符串和元祖。Python中唯一的内建映射类型是字典。
利用字典格式化字符串:当字符格式化中使用元祖时,还需要对元祖中每一个元素都设定“格式化说明符”,在使用字典时说明符可以比字典中的项少。