一:字典建立
1.
>>> phonebook = {'fp':'123','wjj':'12344'}
每个键和值通过冒号隔开,每个项之间用逗号
2.
dict函数通过其他的映射建立字典
>>> items = [('name','fp'),('age',24)]
>>> d = dict(items)
>>> items
[('name', 'fp'), ('age', 24)]
>>> d
{'age': 24, 'name': 'fp'}
也可以通过关键字创建字典
>>> d = dict(name = 'fp',age = 24)
>>> d
{'age': 24, 'name': 'fp'}
二、基本的字典操作
与序列的比较:
字典的键值不一定为整数,可以为任意不可变类型
即使键不存在也可以复制,创建新的键值
成员资格,k in d查找的是键,不是值
>>> x = []
>>> x[10] = 100
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
x[10] = 100
IndexError: list assignment index out of range
>>> x = {}
>>> x[10] = 100
>>> x
{10: 100}
字典的格式化字符串
>>> phonebook = {'fp':'123','wjj':'456'}
>>> "fp's number is %(fp)s." %phonebook
"fp's number is 123."
字典的方法:
clear() 清除字典中的所有项
copy() 浅复制,修改了某个数值,原始的字典中的数值也会发生变化
deepcopy() 深层复制
fromkeys() 用给定的键建立新的字典
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
get() 更宽松的访问字典的项,如果试图访问不存在的项,不会报错
>>> d = {}
>>> d.get('name')
>>> d.get('name','none')
'none'
>>> d['name'] = 'fp'
>>> d.get('name')
'fp'
has_key = k in d
items 和 iteritems将字典中的所有项以列表的形式返回,没有顺序
keys 和iterkeys
pop(key)删除键值对
popitem()弹出随机项
setdefault()
>>> d = {}
>>> d.setdefault('name','N/A')
'N/A'
>>> d['name']
'N/A'
update()利用一个字典项更新另外一个字典
values itervalues列表的形式返回字典中的值,可以包含重复的元素。