一、setdefault()函數介紹
setdefault()函數是Python字典(Dictionary)中的一個函數,用於在字典中查找某個鍵,如果該鍵不存在,則返回一個默認值並插入到字典中。
當字典中的value為可變對象時,setdefault()函數會在value沒有初始化時創建value的對象,避免了value = []的寫法引起的編碼錯誤。
二、setdefault()函數的語法
dict.setdefault(key, default=None)
參數解釋:
- key: 字典中要查找的鍵
- default: 為鍵設置的默認值,默認為None
三、setdefault()函數的實例
1. 設置默認值
示例代碼:
dict1 = {'name': 'Tom', 'age': 28} age = dict1.setdefault('age', 18) sex = dict1.setdefault('sex', 'male') print("age=", age) # age=28 print("sex=", sex) # sex=male print(dict1) # {'name': 'Tom', 'age': 28, 'sex': 'male'}
上述代碼中,字典中已經有”name”和”age”兩個鍵,當我們調用dict1.setdefault(‘age’, 18)時,由於”age”鍵已經存在,因此返回28,而調用dict1.setdefault(‘sex’, ‘male’)時,由於”sex”鍵不存在,因此將默認值male設置成sex鍵的值。
2. 給嵌套字典插入默認值
示例代碼:
dict2 = {'name': 'Tom', 'info': {'age': 28}} dict2.setdefault('info', {}) dict2['info'].setdefault('sex', 'male') print(dict2) # {'name': 'Tom', 'info': {'age': 28, 'sex': 'male'}}
上述代碼中,字典中已經有”name”和一個鍵為”info”的字典,當我們調用dict2.setdefault(‘info’, {})時,由於”info”鍵已經存在,因此函數會返回原來鍵的值,即字典{‘age’: 28}。然後我們再調用字典的setdefault()函數,為字典插入新鍵”sex”並設置默認值”male”。
3. 給字典的值初始化
示例代碼:
dict3 = {} dict3.setdefault('name', 'Tom') dict3.setdefault('score', []) dict3['score'].append(30) print(dict3) # {'name': 'Tom', 'score': [30]}
上述代碼中,字典中不存在鍵”score”,因此我們為它設置默認值[],然後將30加入到該鍵對應的值中。
四、小結
setdefault()函數是Python字典中的一個函數,可以解決在字典中查找某個鍵是否存在的問題,並且可以在鍵不存在時返回默認值並將該鍵插入到字典中。在字典中的值為可變對象時,使用setdefault()函數不僅使代碼更加簡潔,也可以避免一些編碼錯誤。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190927.html