在Python編程語言中,字典(dictionary)是一種非常重要的數據類型。它允許我們存儲鍵值對,並可以根據鍵快速地查找對應的值。
一、字典的基本操作
要創建一個字典,可以使用花括弧{}或者dict()函數。在花括弧中,用逗號分隔鍵值對,並用冒號將鍵與值分開。
# 創建一個包含鍵值對的字典
my_dict = {'name': 'Lucy', 'age': 22, 'gender': 'female'}
print(my_dict)
# 輸出結果:{'name': 'Lucy', 'age': 22, 'gender': 'female'}
要訪問字典中的值,可以使用方括弧[]或者get()方法。如果要添加或修改一個鍵值對,可以直接賦值給該鍵。
# 訪問字典中的值
print(my_dict['name'])
print(my_dict.get('age'))
# 輸出結果:Lucy 22
# 添加或修改鍵值對
my_dict['height'] = 170
my_dict['age'] = 23
print(my_dict)
# 輸出結果:{'name': 'Lucy', 'age': 23, 'gender': 'female', 'height': 170}
要刪除字典中的鍵值對,可以使用del語句或者pop()方法。其中,pop()方法不僅可以刪除指定的鍵值對,還可以返回被刪除的值。
# 刪除鍵值對
del my_dict['gender']
print(my_dict)
# 輸出結果:{'name': 'Lucy', 'age': 23, 'height': 170}
# 使用pop()方法刪除指定的鍵值對,並返回被刪除的值
age = my_dict.pop('age')
print(age)
print(my_dict)
# 輸出結果:23 {'name': 'Lucy', 'height': 170}
二、字典的遍歷
要遍歷字典中的鍵值對,可以使用for循環。在每次迭代中,Python會返回一個鍵值對元組(key, value),我們可以通過解包的方式將其拆分成鍵和值。
# 遍歷字典中的鍵值對
for key, value in my_dict.items():
print(key, value)
# 輸出結果:name Lucy height 170
要遍歷字典中的所有鍵,可以使用keys()方法;要遍歷字典中的所有值,可以使用values()方法。
# 遍歷字典中的鍵
for key in my_dict.keys():
print(key)
# 輸出結果:name height
# 遍歷字典中的值
for value in my_dict.values():
print(value)
# 輸出結果:Lucy 170
三、字典的嵌套
在字典中,鍵和值都可以是任何數據類型,包括另一個字典。這種情況通常被稱為字典的嵌套。
# 創建一個嵌套字典
my_nested_dict = {'name': 'Tom', 'age': 25, 'address': {'city': 'Beijing', 'street': 'Main Street'}}
print(my_nested_dict)
# 輸出結果:{'name': 'Tom', 'age': 25, 'address': {'city': 'Beijing', 'street': 'Main Street'}}
要訪問嵌套字典中的值,可以使用多個方括弧[]或者多個get()方法。
# 訪問嵌套字典中的值
print(my_nested_dict['address']['city'])
print(my_nested_dict.get('address').get('street'))
# 輸出結果:Beijing Main Street
要遍歷嵌套字典中的鍵值對,可以使用嵌套的for循環。
# 遍歷嵌套字典中的鍵值對
for key, value in my_nested_dict.items():
if isinstance(value, dict):
for k, v in value.items():
print(key + '.' + k, v)
else:
print(key, value)
# 輸出結果:name Tom age 25 address.city Beijing address.street Main Street
四、總結
在Python編程語言中,字典是一種用於存儲鍵值對的數據類型。我們可以使用字典來快速查找數據,以及支持嵌套等高級操作。掌握字典的基本操作和遍歷方式,有助於我們更好地理解Python編程語言的特點和優勢。
原創文章,作者:JTAF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144784.html
微信掃一掃
支付寶掃一掃