Python 中的字典操作
阿新 • • 發佈:2018-02-04
語言 clear 組成 {} 返回 括號 做了 進行 不返回 字典:dict
字典在其他編程語言中又稱作關聯數組或散列表 通過鍵實現元素存取: 無序集合,可變類型容器,長度可變,異構,嵌套 表示方法: phonebook = {‘Alice‘:‘1234‘,‘Beth‘:‘9102‘,...} 字典由鍵及相對應的值組成,這種鍵-值對稱為項(item).在前面的示例中,鍵為名字,而值為電話號碼。 每個鍵與其值之間都用冒號(:)分割,項與項之間用逗號分割,而整個字典放在花括號內{}. dict = {} 定義一個空字典 dict = {key1:value1,key2:value2,...} 註意: 在字典(以及其他映射類型)中,鍵必須是獨一無二的,如果鍵發生沖突,以最後一個為準(可哈希對象才可以當作鍵,因為在查找是是把鍵做了個哈希表進行查找的, 所以速度非常快,字典本身是不可哈希的,不能拿字典本身來當鍵,字典嵌套字典時候,內部的字典可以當作值來用而不可以當作值來用)而字典中的值無需如此。 dict = {‘x‘:123,‘y‘:234,‘z‘:456} print (dict[‘x‘]) 123 len: 返回字典中元素的個數 >>> dict = {‘a‘:1,‘b‘:2,‘c‘:3} >>> print(len(dict)) 3 字典復制:dict.copy() 深度復制 dict1 = dict.copy() >>> dict1 = {‘x‘:1,‘y‘:2,‘z‘:3} >>> dict2 = dict1 (淺復制) >>> id(dict1) 140166806717496 >>> id(dict2) 140166806717496 >>> dict3 = dict1.copy() (深度復制,內存位置發生變化) >>> id(dict3) 140166805562568 dict.get (取得對應鍵的值) >>> dict = {‘x‘:1,‘y‘:2,‘z‘:3} >>> dict.get(‘x‘) 1 >>> dict.get(‘y‘) 2 >>> dict.get(‘z‘) 3 >>> >>> dict.get(‘h‘) (get的好處沒有這個元素也不會拋出異常) >>> dict.items (把D中的鍵值,實現將字典轉換為元組列表的方式) 註:每一項都被拆成了一個元組,這些元組合起來組成一個列表 >>> dict = {‘x‘:1,‘y‘:2} >>> dict.items() dict_items([(‘x‘, 1), (‘y‘, 2)]) 變量解包(兩邊要保持一致) >>> dict = {‘x‘:1,‘y‘:2} >>> t1,t2 = dict.items() >>> print (t1) (‘x‘, 1) >>> print (t2) (‘y‘, 2) >>> dict.keys (返回鍵列表) >>> dict = {‘x‘:1,‘y‘:2,‘z‘:3} >>> dict.keys() dict_keys([‘x‘, ‘y‘, ‘z‘]) dict.value (返回值列表) >>> dict = {‘x‘:1,‘y‘:2,‘z‘:3} >>> dict.values() dict_values([1, 2, 3]) dict.pop (彈出指定的key) >>> dict = {‘x‘:1,‘y‘:2,‘z‘:3} >>> dict.pop(‘x‘) 1 >>> print (dict) {‘y‘: 2, ‘z‘: 3} >>> dict.popitem (隨機彈出的項) >>> dict = {‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4,‘e‘:5,‘f‘:6,‘g‘:7} >>> dict.popitem() (‘g‘, 7) >>> dict.popitem() (‘f‘, 6) >>> dict.popitem() (‘e‘, 5) >>> dict.popitem() (‘d‘, 4) >>> dict.update (將一個字典合並到當前字典中) 註意:重復的鍵,將會被覆蓋 update() 方法用於將dict2的鍵值對添加到dict此方法不返回任何內容。 >>> dict1 = {‘a‘:1,‘b‘:2} >>> dict2 = {‘x‘:666,‘a‘:888} >>> dict1.update(dict2) >>> print(dict1) {‘a‘: 888, ‘b‘: 2, ‘x‘: 666} >>> dict.clear() 清空字典 >>> dict1 = {‘a‘: 888, ‘b‘: 2, ‘x‘: 666} >>> dict1.clear() >>> dict1 {}
Python 中的字典操作