字典的學習

Python中還存在一種數據結構,就是字典,這也是在R中沒有見過的,也有可能只是我沒有見過,有意思的地方就是字典可以直接通過名字來引用值。字典通常是以“鍵(key):值(value)”的方式存在,多個鍵之間用逗號隔開,且沒有既定的順序。鍵可以是數字、字符串或者元組,但是不能重複。

字典能夠通過鍵輕鬆查找到其對應的值,而不用事先知曉其位置。

ages = {'Li':31, 'Ming':24, 'He':54}
print(ages['He'])

字典的創建還可以使用dict函數進行,例如:

g = [('Li', 'F'), ('Ming', 'F'), ('He', 'M')]
gender = dict(g)
print (gender)
#結果如下:
{'Li': 'F', 'He': 'M', 'Ming': 'F'}

或者:

gender = dict(Li = 'F', Ming = 'F', He = 'M')

字典的基本操作包括:

len(d):字典中項(鍵-值)的個數;

d[k] = v:將值v關聯到鍵k上,若鍵k不存在,可自動添加,列表則不可直接通過位置賦值添加;

del d[k]:刪除鍵爲k的項;

k in d:檢查字典中是否存在鍵爲k的項;

%(k)s:字典的格式化字符,k代表鍵,只要給出的鍵在字典中存在,常用語模版系統;

d.clear():刪除字典中所有項,有意思的是如果刪除一個字典的項,其他與其關聯的字典中的項也會被刪除;

d.copy():複製字典,也稱爲淺複製,若某個值被原始修改(如d.remove()),原始字典也會改變;

d.deepcopy():深複製,避免上述問題;

d.fromkeys(['key1','key2'...]):使用給定的鍵創建新的字典,每個鍵默認對應None,也可更改;

d.get('key'):獲取鍵對應的值,但是如果鍵不存在也不會出錯,適合實際應用;

d.has_key('key'):返回T或者F,查找是否存在特定的鍵;

d.pop(key):獲得鍵對應的值,並將對應的項刪除;

d.popitem():隨機彈出一個項,類似於list.pop(彈出最後一個元素),但是字典沒有順序,所以是隨機的項;

d.setdefault(key, default):這個功能比較有意思,在字典中沒有給定鍵時,設置其默認值(不指定即爲None),如果字典中存                                             在給定鍵,則返回其對應值,且不改變字典;

d.updata(d2):利用一個字典更新另一個字典。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章