字典

  • 字典概念
a、經過名字來引用值的數據結構,這種類型的數據結構稱爲映射(mapping)。字典是Python中惟一內建的映射類型。字典中的值並無特殊的順序,可是都存儲在一個特定的鍵(key)下,鍵能夠是數字、字符串甚至是元祖
b、字典是可變容器模型,且能夠存儲任意類型的對象
c、由 鍵:值 構成,使用大括號 { } 
d = {key1:value1,key2:value2}
d、 鍵必須是惟一的,但值則沒必要

  • dict()
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() 方法或者其餘相似操做的狀況下)不能將值關聯到表範圍以外的索引上

  • 成員資格(in\not in)
表達式 k in d(d爲字典),查找的是鍵,而不值,表達式 v in l(l 爲列表)則用來查找值,而不是索引。
經過鍵來判斷,效率更高
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息