一、字典基礎知識回顧
字典是Python中非常常用的一種數據結構,它可以存放任意數量的任意類型對象,以鍵值對的形式進行存儲。
一個簡單的字典由一組「鍵-值」對組成,鍵值對之間用逗號隔開,用花括號 {} 將整個字典括起來。
dict1 = {'name': 'Lisa', 'age': 18, 'gender': 'female'}
我們可以通過鍵名來訪問字典中的值:
print(dict1['name']) #輸出 'Lisa'
在Python中,字典是可變的,可以新增、刪除、修改其中的「鍵-值」對:
dict1['city'] = 'Beijing' #新增鍵'city'
dict1['age'] = 20 #將鍵'age'對應的值修改為20
del dict1['gender'] #刪除鍵'gender'
二、字典查詢效率提升
在Python中,我們可以使用for循環和列表解析式來對字典進行遍歷,但是這種方式並不適用於大型字典的查詢,因為它會遍歷整個字典並進行比較,效率比較低。
而對於大型字典的查詢,我們可以使用Python自帶的字典函數get()和setdefault(),它們可以極大地提高字典查詢效率。
三、使用get()函數進行查詢
get()函數用於獲取字典中指定鍵的值。如果鍵不存在,則返回默認值(默認為None)。
dict1.get('name') #輸出 'Lisa'
dict1.get('salary') #輸出 None
get()函數可以優化代碼效率,因為它只需要遍歷指定鍵,而不是整個字典。
四、使用setdefault()函數進行查詢
setdefault()函數與get()函數類似,也是用於獲取指定鍵的值。但是,如果該鍵不存在,則會向字典中添加一個新的「鍵-值」對,值為默認值(默認為None)。
dict1.setdefault('city', 'Shanghai') #返回 'Beijing',因為字典中已有'city'鍵
dict1.setdefault('salary', 5000) #返回 5000,因為字典中沒有'salary'鍵,會新增該鍵
setdefault()函數也能夠提高字典查詢效率,因為它只需要遍歷指定鍵,而不是整個字典,並且可以自動新增新的「鍵-值」對。
五、使用字典推導式進行創建
字典推導式是Python中非常方便的創建字典的方法,它類似於列表推導式。
dict2 = {x: x**2 for x in range(1, 6)}
print(dict2) #輸出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
通過字典推導式,可以方便地創建複雜的字典,而且效率也比for循環高。
六、結語
Python中的字典是一種非常實用的數據結構,我們可以通過get()和setdefault()函數提高字典查詢效率,還可以使用字典推導式進行創建。
在實際開發中,合理使用這些方法,能夠提升代碼的運行效率,讓程序變得更快更好。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297993.html