Dictionary 是 Python的内置数据类型之一,它定义了key-value之间的对应关系. Dictionary与java中的Map差不多,它的key是不能重复的,大小写敏感的,也就是说如果一个dictionary中有'key','Key',它们看上去差不多,但是python看来它们是完全不同的 Dictionary定义
定义dictionary使用一对花括号{}
map={} #定义一个空的Dictionary
向dictionary添加数据
map={}
map["dbtype"]="oracle"
map["dbSID"]="orcl102g"
map["dbuser"]="dengm"
map
{'dbtype': 'oracle', 'dbuser': 'dengm', 'dbSID': 'orcl102g'}
dictionary中的数据是没有顺序的,key也是唯一的
获取dictionary中的值 可以通过get(key) 方法和 dict[key]来取 如果key不在这个map中会抛出KeyError的异常
map["dbtype"]
'oracle'
map.get("dbuser")
'dengm'
使用key (not) in dictionary 或has_key(key)方法来判断dictionary中是否有或没有key
"dbuser" in map
True
"dbpasswd" in map
False
map.has_key("dbtype")
True
获取dictionary的长度 dictionary中有多少个元素
map {'dbtype': 'oracle', 'dbuser': 'dengm'}
len(map) 2
Dictionaryde 复制
dict=map.copy()
dict {'dbtype': 'oracle', 'dbuser': 'dengm'}
Dictionary 的修改 修改的操作和添加的操作是一样的
map["dbtype"]='mysql'
map {'dbtype': 'mysql', 'dbuser': 'dengm', 'dbSID': 'orcl102g'}
如果dictionary中没有这个key它会添加一条key-value对 dictionary中的key 约定用的是string类型,它可以是任意的数据类型
map[1]="one"
map["one"]=1
map {'dbtype': 'mysql', 'dbuser': 'dengm', 'one': 1, 1: 'one', 'dbSID': 'orcl102g'}
删除Dictionay中的元素 删除操作要使用关键字del或者pop(key)方法 比如说我要把key是one的元素删掉
del map['one']
map {'dbtype': 'mysql', 'dbuser': 'dengm', 1: 'one', 'dbSID': 'orcl102g'}
继续删除key是1的元素
del map[1]
map {'dbtype': 'mysql', 'dbuser': 'dengm', 'dbSID': 'orcl102g'}
如果你要删除一个不存在的key 那就会抛出KeyError的异常 如:
del map[1] Traceback (most recent call last): File "
dictionary的遍历
for k,v in map.iteritems(): print k,v dbtype oracle dbuser dengm
for k in map.iterkeys():print k dbtype dbuser
for k in map.iterkeys():print k,map[k] dbtype oracle dbuser dengm
for v in map.itervalues():print v oracle dengm
clear()方法可以清空所有的元素
map {'dbtype': 'mysql', 'dbuser': 'dengm', 'dbSID': 'orcl102g'}
map.clear()
map {}