python内置数据类型之Dictionary

python内置数据类型之Dictionary 
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 "", line 1, in del map[1] KeyError: 1    


 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 {}
请使用浏览器的分享功能分享到微信等