標籤:
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) #遍曆索引值對
python 字典基本操作