Python 基礎之字典(dict)的用法
阿新 • • 發佈:2018-12-09
python dict字典
字典是Python中唯一的內建對映型別,字典中的資料沒有特定的順序,可以通過特定的鍵(key)來存取資料。鍵可以是數字、元組或字串,但不能是列表。
字典的常用方法:
1.1 clear()方法
1.2 copy()方法
1.3 fromkeys()方法
1.4 get()方法
1.5 has_key()方法
1.6 items、iteritems方法
1.7 keys、iterkeys
1.8 popitem()方法
1.9 setdefault()方法
1.10 update()方法
1.11 values、itervalues方法
字典的建立及存取資料操作: 1.1字面量建立 user_info={ #建立字典 "name":"james", "user_id":1122, "addr":"python home" } print user_info #列印整個字典的資料 print user_info['name'] #取user_info字典中,鍵為name的值 print user_info['addr'] #取user_info字典中,鍵為addr的值 執行結果: {'user_id': 1122, 'name': 'james', 'addr': 'python home'} james python home [Finished in 0.1s] 1.2 dict()函式建立字典 list_user=[("name","Hugh"),("user_id",123456),("Hobby","python , java")] print dict(list_user) #dict()函式建立字典 print dict(list_user)["name"] #取生成字典後的鍵name的值 print dict(list_user)['Hobby'] #取生成字典後的鍵Hobby的值 執行結果: {'Hobby': 'python , java', 'user_id': 123456, 'name': 'Hugh'} Hugh python , java [Finished in 0.2s] 1.3 dict()函式建立字典 user_info=dict(name="Jason",age=18,Hobby="python,java") #建立字典 print user_info 執行結果: {'Hobby': 'python,java', 'age': 18, 'name': 'Jason'} [Finished in 0.3s] 1.4 字典賦值 fruit={} #建立空字典 fruit['apple']="12.18" #新增資料 fruit['banana']="0.89" print fruit 執行結果: {'apple': '12.18', 'banana': '0.89'} [Finished in 0.2s] 字典的基礎操作: len()函式,用於返回字典中鍵-值對的數量(字典的長度) color={'red':11,'blue':22,'green':33,'black':44,'White':55} print len(color) #獲取color字典的長度 執行結果: 5 in 關鍵字,用於檢查字典中是否存在指定的鍵(key) color={'red':11,'blue':22,'green':33,'black':44,'White':55} print 'red' in color #檢查red是否存在color字典中,存在則返回True,反之返回false 執行結果: True del 關鍵字,用於刪除字典中指定的鍵-值對 color={'red':11,'blue':22,'green':33,'black':44,'White':55} del color['blue'] #刪除color中blue的鍵-值資料 print color 執行結果: {'black': 44, 'White': 55, 'green': 33, 'red': 11} [Finished in 0.2s] clear()方法,用於清除字典中所有的項。 color={'red':11,'blue':22,'green':33,'black':44,'White':55} color.clear() #清除color中的所有項 print color 執行結果: {} [Finished in 0.2s] copy()方法,用於複製字典 color={'red':11,'blue':22,'green':33,'black':44,'White':55} copy_color=color.copy() print copy_color 執行結果: {'blue': 22, 'green': 33, 'White': 55, 'black': 44, 'red': 11} [Finished in 0.1s] fromkeys()方法,用於給定的鍵,建立新的字典,因此每個鍵都對應一個預設的值None。 print {}.fromkeys(['name','user_id','Hobby']) #根據指定鍵,建立字典,預設值為None 執行結果: {'Hobby': None, 'user_id': None, 'name': None} [Finished in 0.1s] print dict.fromkeys(['name','user_id','Hobby']) ##根據指定鍵,建立字典,預設值為None 執行結果: {'Hobby': None, 'user_id': None, 'name': None} [Finished in 0.1s] get()方法,用於訪問字典項的方法,當訪問一個不存在的鍵時,沒有任何異常,而得到一個預設值None,也可以自定義預設值。 dict_a={} print dict_a.get('name','not fount') #獲取dict_a字典name的值,找不到返回not fount 執行結果: not fount [Finished in 0.1s] has_key()方法,用於檢查特定的鍵(key)是否含有特定的鍵,與 in 關鍵字的效果差不多。 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.has_key("red") #檢查color中是否含有red鍵,如果找到則返回True,反之返回false 執行結果: True [Finished in 0.1s] items、iteritems item方法,用於將字典所有的項按列表的形式返回,iteritems與items差不過,不過iteritems返回的是一個迭代器。 items()方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.items() #將字典轉化為列表的形式 執行結果: [('blue', 22), ('black', 44), ('White', 55), ('green', 33), ('red', 11)] [Finished in 0.2s] iteritems()方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.iteritems() #將字典轉化為列表的形式,返回一個迭代器 print list(color.iteritems()) #列印迭代器的資料 執行結果: <dictionary-itemiterator object at 0x021405D0> #迭代器 [('blue', 22), ('black', 44), ('White', 55), ('green', 33), ('red', 11)] [Finished in 0.2s] keys、iterkeys keys方法,用於將字典中所有鍵轉換為列表的形式,而iterkeys與keys差不多,不過iterkeys返回的是一個迭代器。 keys()方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.keys() #將字典的所有鍵轉化為列表的形式 執行結果: ['blue', 'black', 'White', 'green', 'red'] [Finished in 0.2s] iterkeys()方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.iterkeys() #將字典的所有鍵轉化為列表的形式,返回一個迭代器 print list(color.iterkeys()) #列印迭代器的資料 執行結果: <dictionary-keyiterator object at 0x021B05D0> ['blue', 'black', 'White', 'green', 'red'] [Finished in 0.2s] popitem()方法,用於隨機移除字典中項(鍵-值對),並返回被移除的項,因為字典中沒有最後一項的說法,所有的項都是隨機排序。 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.popitem() #隨機移除color中的一項,並返回移除的(鍵-值對) print color 執行結果: ('blue', 22) {'black': 44, 'White': 55, 'green': 33, 'red': 11} [Finished in 0.2s] setdefault()方法,用於獲取字典指定鍵的值,與get方法類似,不過,如果字典中無該鍵,則將其新增到字典中。 user_info={} print user_info.setdefault('name') #獲取user_info中的name,如果沒有則將name新增到字典中,值預設為Nome print user_info 執行結果: None {'name': None} [Finished in 0.2s] 找不到指定鍵,新增後並給定預設值 user_info={} print user_info.setdefault('Hobby','python') #如果獲取不到Hobby,則將其新增到字典中,並給定值為:Python print user_info 執行結果: python {'Hobby': 'python'} [Finished in 0.2s] update()方法,將一個字典更新到另一個字典中。 user_info={ 'name':'james', 'user_id':'123456' } H={ 'Hobby':'python , java' } user_info.update(H) #將字典H中的項,新增到user_info中 print user_info 執行結果: {'Hobby': 'python , java', 'user_id': '123456', 'name': 'james'} [Finished in 0.3s] values、itervalues values方法,用於將字典中所有值轉換為列表形式,itervalues與values差不多,但是,itervalues返回的是一個迭代器。 values方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.values() #將字典中的所有值轉換為列表 執行結果: [22, 44, 55, 33, 11] [Finished in 0.2s] itervalues()方法 color={'red':11,'blue':22,'green':33,'black':44,'White':55} print color.itervalues() #將字典中的所有值轉換為列表,返回一個迭代器 print list(color.itervalues()) 執行結果: <dictionary-valueiterator object at 0x021E05D0> [22, 44, 55, 33, 11] [Finished in 0.2s]