一、使用get()方法
Python的字典類型可以很快地獲取到所需的數據,但如果查找的key不存在,會導致程序崩潰。Python提供了get()方法解決這個問題。
my_dict = {'name': 'Jack', 'age': 25}
# 使用get()方法獲取字典值
print(my_dict.get('name'))
print(my_dict.get('country'))
# 使用get()方法,可以設置默認值,避免程序崩潰
print(my_dict.get('country', 'Unknown'))
輸出結果:
Jack
None
Unknown
二、使用setdefault()方法
設置字典key和value的默認值。
my_dict = {'name': 'Jack', 'age': 25}
# 如果字典中不存在該key,就添加該key和默認value
my_dict.setdefault('country', 'Unknown')
print(my_dict)
# 如果字典中存在該key,保持原有value
my_dict.setdefault('age', 30)
print(my_dict)
輸出結果:
{'name': 'Jack', 'age': 25, 'country': 'Unknown'}
{'name': 'Jack', 'age': 25, 'country': 'Unknown'}
三、使用dict.get()方法添加元素到一個字典中
獲取Python字典值,同時可以動態添加新元素,意味著可以使用一個變數保存元素列表,而不是多個變數。如下代碼所示:
my_list = [('name', 'Jack'), ('age', 25), ('country', 'China')]
my_dict = {}
# 使用dict.get()方法獲取字典值,同時動態添加新元素到字典中
for k, v in my_list:
my_dict[k] = my_dict.get(k, []) + [v]
print(my_dict)
輸出結果:
{'name': ['Jack'], 'age': [25], 'country': ['China']}
四、使用字典解析
使用字典解析,可以很方便地一行代碼搞定獲取值的任務。
my_dict = {'name': 'Jack', 'age': 25, 'country': 'China'}
# 使用字典解析獲取所有字典值
all_values = [value for key, value in my_dict.items()]
print(all_values)
# 只獲取特定key的字典值
specific_values = [my_dict[key] for key in ('name', 'age')]
print(specific_values)
輸出結果:
['Jack', 25, 'China']
['Jack', 25]
五、使用collections模塊中的defaultdict()方法
使用defaultdict()方法,可以在字典中使用默認值。
from collections import defaultdict
my_dict = defaultdict(int)
my_dict['key1'] += 1
print(my_dict)
輸出結果:
defaultdict(, {'key1': 1})
六、使用ChainMap對象組合多個字典
使用ChainMap對象組合多個字典,可以在多個字典中查找指定key的值。
from collections import ChainMap
dict1 = {'name': 'Jack'}
dict2 = {'age': 25}
dict3 = {'country': 'China'}
combined_dict = ChainMap(dict1, dict2, dict3)
print(combined_dict['name'])
print(combined_dict['age'])
輸出結果:
Jack
25
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239654.html