一、字典基礎知識
Python字典是一種可變容器模型,可以存儲任意數量的Python對象,每個對象都是通過一個唯一的鍵來進行訪問。字典的本質是一個哈希表,鍵值對存儲在其中。因為其內部是使用哈希表實現的,所以對於一些常見的操作,字典提供了比列表等數據結構更快的訪問速度。
字典的基本語法格式如下:
dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}
字典中每個鍵值對分別用冒號 “:” 隔開,鍵值對之間使用逗號 “,” 隔開,整個字典放在花括弧 “{}” 中。
二、字典創建與訪問
可以使用完整的語法形式創建字典,也可以使用dict()函數創建字典。對字典中的值進行訪問,只需要用對應的鍵值來訪問即可:
# 創建字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
dict2 = dict(name='Jerry', age=18, gender='female')
# 訪問字典
name = dict1['name']
age = dict2.get('age')
如果鍵值不存在,使用[]訪問會拋出異常,可以使用get()方法避免這個錯誤。
三、字典的常用操作
1. 添加與刪除操作
字典中添加元素使用”鍵:值”的形式為一個新鍵值對賦值即可。刪除字典元素有兩種方法,可以使用del語句將字典中的某個鍵值對刪除,也可以使用pop()函數將指定鍵值對刪除並返回其值:
# 添加元素
dict1['city'] = 'Beijing'
# 刪除元素
del dict1['gender']
gender = dict2.pop('gender')
2. 更新操作
可以使用update()方法或「鍵:值」對的形式直接添加或修改字典中的鍵值對:
# update()方法
dict1.update({'name': 'Jack', 'age': 19})
# 直接修改
dict2['age'] = 20
3. 遍歷操作
遍歷字典可以使用for循環,可以遍歷所有的鍵或值,也可以同時遍歷鍵和值:
# 遍歷鍵
for key in dict1.keys():
print(key)
# 遍歷值
for value in dict2.values():
print(value)
# 遍歷鍵值對
for key, value in dict1.items():
print(key + ":" + str(value))
四、字典的妙用——實現數據的快速讀取和操作
Python字典非常適合存儲複雜的嵌套數據結構,如JSON、XML等格式的數據。例如,一個複雜的JSON格式的數據:
{
"name": "Tom",
"age": 20,
"gender": "male",
"friends": [
{
"name": "Jerry",
"age": 18,
"gender": "female"
},
{
"name": "Peter",
"age": 22,
"gender": "male"
}
],
"location": {
"city": "Beijing",
"province": "北京市",
"country": "中國"
}
}
使用字典可以方便地讀取和操作這樣的數據結構,例如獲取朋友的年齡數據:
# 載入JSON數據
data = {
"name": "Tom",
"age": 20,
"gender": "male",
"friends": [
{
"name": "Jerry",
"age": 18,
"gender": "female"
},
{
"name": "Peter",
"age": 22,
"gender": "male"
}
],
"location": {
"city": "Beijing",
"province": "北京市",
"country": "中國"
}
}
# 獲取所有朋友的年齡
ages = []
for friend in data['friends']:
ages.append(friend['age'])
五、小結
Python字典提供了比列表等數據結構更快的訪問速度,也提供了方便的訪問、修改、刪除、遍歷、嵌套操作等多種操作方式。在實際應用中,字典非常適合存儲複雜的數據結構,例如JSON、XML等格式的數據。
原創文章,作者:KVTZM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313749.html
微信掃一掃
支付寶掃一掃