相当于其它语言里的Map,PYTHON用字典来表示这种Key-value的数据结构
一,创建字典的方式:
1。直接定义
字典={key1:value1, key2:value2, ...... keyn: valuen}
phoneNumber = {'liubei':'2341', 'guanyu':'23432','zhangfei':'4444444'}
2. dict 函数
items = [('name','wang'),('age',12)]
d = dict( items ) #通过(key,value)序列来定义
d2 = dict(name = 'wang', age = 12 ) #通过传递函数参数来定义
二,基本操作
类似于序列,但是比序列效率高,key的类型可以是任意的不可变类型
len(d) 返回item的数量
d[k] 返回k对应的value
d[k]=v k对应的值成为v
del d[k] 删除k项
k in d 检查d中是否含有键为k的项
三,字典的方法
1。clear 清除字典中所有项
2。copy 字典的浅拷贝,只复制引用
deepcopy 字典的深拷贝,复制一分内容,另一个变量指向它
3。fromkeys 使用给定的键建立一个新的字典,每个键的默认值都是None
{}.fromkeys(['name','age']) 或 dict.fromkeys(['name','age'])
指定默认值 {}.fromkeys(['name','age'],‘(unknown)’)
4。get 访问字典的方法,在key不存在时不会出错
5。 has_key(key) 相当于k in d
6。 items 和 iteritems 返回字典所有项的列表。
iteritems 返回一个迭代器对象。
it = d.iteritems()
list(it) #显示
7。keys 和 iterkeys 将键以列表形式返回
8。pop 返回一个键的值,然后删除这个项
d.pop('name')
9. popitem() 弹出一个随机的项,并在字典中删除
d.popitem()
10. values 和itervalues 将value以列表形式返回
11. update 可以用一个字典更新另外一个字典
四,遍历一个字典
d= {'x':1, 'y':2}
for key in d :
print key, '==>', d[key]
for key,value in d.items():
print key,'==>' , value