python 中的字典属于一种高级数据结构,基于的基本数据结构是hash表,hash表在查找某一元素中的复杂度基本上等于O(1),因此是非常好用的数据结构。下面简介一下资本的一些字典的操作
一、创建字典,给字典赋值
NameRank={}
NameRank={1:ada,2:aka,3:jia,4:gxy}
创建字典有以上两种方式,可以直接初始化中给出赋值,也可以直接创建,字典赋值操作如下
NameRank[key]=value
二、字典的基本操作
1、访问
adict[key] 形式返回键key对应的值value,如果key不在字典中会引发一个KeyError。
2、检查key
a、has_key()方法 形如:adict.has_key(‘name') 有–>True,无–>False
b、in 、not in 形如:'name' in adict 有–>True,无–>False
3、更新字典
adict[new_key] = value 形式添加一个项
4、删除
del adict[key] 删除键key的项 / del adict 删除整个字典
adict.pop(key) 删除键key的项并返回key对应的 value值
三、相关映射函数
1、len() 返回字典的长度
2、hash() 返回对象的哈希值,可以用来判断一个对象能否用来作为字典的键
四、字典的方法
1、adict.keys() 返回一个包含字典所有KEY的列表;
2、adict.values() 返回一个包含字典所有value的列表;
3、adict.items() 返回一个包含所有(键,值)元祖的列表;
4、adict.clear() 删除字典中的所有项或元素;
5、adict.copy() 返回一个字典浅拷贝的副本;
6、adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
7、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
8、adict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
9、adict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
10、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
11、adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
12、adict.update(bdict) 将字典bdict的键值对添加到字典adict中。
五、字典的遍历
for value in adict.values(): print value #遍历值
for key in adict.keys():print key #遍历键
for item in adict.items():print item #遍历每一项
for item,value in adict.items():print 'key=%s, value=%s' %(item,value) #遍历键值对
for item,value in adict.iteritems():print 'key=%s, value=%s' %(item,value) #遍历键值对