a、經過名字來引用值的數據結構,這種類型的數據結構稱爲映射(mapping)。字典是Python中惟一內建的映射類型。字典中的值並無特殊的順序,可是都存儲在一個特定的鍵(key)下,鍵能夠是數字、字符串甚至是元祖
b、字典是可變容器模型,且能夠存儲任意類型的對象
c、由 鍵:值 構成,使用大括號 { }
d = {key1:value1,key2:value2}
d、
鍵必須是惟一的,但值則沒必要
dict() 函數(其餘根本不是函數,它是一個類型,就像list、tuple、str同樣)經過其餘的映射(好比其餘字典)或者(鍵,值)對的序列創建字典
items =[('name','a'),('sex','b')]
d1 = dict(items)
print d1
d2 = dict(name='a',sex='b') #注意這種方式的使用
print d2
d3 = dict()
print d3 #輸出空字典
#輸出
{'name': 'a', 'sex': 'b'}
{'name': 'a', 'sex': 'b'}
{}
d2 = dict(name='a',sex='b')
print d2
print len(d2) #返回字典中項(鍵-值)的數量,即長度
print d2['name'] #返回關聯到鍵值 ‘name’上的值,即根據key取value
d2['name'] = 'aaa' #將值'aaa'關聯到鍵值‘name’上,至關於修改value
print d2
print 'name' in d2 #檢測 d2 中是否有含鍵爲 k 的項 ,返回布爾型
del d2['name'] #刪除鍵爲‘name’的項
print d2
#輸出
{'name': 'a', 'sex': 'b'}
2
a
{'name': 'aaa', 'sex': 'b'}
True
{'sex': 'b'}
字典的鍵不必定爲整型數據,鍵能夠是任意的不可變類型,好比浮點型(實型)、字符串或者元組
即便鍵起初在字典並不存在,也能夠爲它賦值,這樣地點會創建新的項。而(不在使用 append() 方法或者其餘相似操做的狀況下)不能將值關聯到表範圍以外的索引上
表達式 k in d(d爲字典),查找的是鍵,而不值,表達式 v in l(l 爲列表)則用來查找值,而不是索引。
經過鍵來判斷,效率更高