精通 Python 字典的迭代:完整教學與最佳實踐(2025 最新版本)

目錄

精通 Python 字典的迭代

Python 是一種相當受歡迎的程式語言,它擁有許多強大的功能,其中之一就是字典(Dict)的迭代功能。字典是一種非常有用的資料結構,能夠儲存鍵值對,其中鍵是一個唯一的字串,而值則可以是任何類型的資料。字典的靈活性使得它非常適合用於資料的儲存、查詢、更新和刪除。

字典的基本概念

字典的基本結構如下:


# 定義一個字典
my_dict = {
    'name': 'John',
    'age': 25,
    'gender': 'male'
}

使用迴圈迭代字典

使用字典的迭代功能,你可以輕鬆處理字典中的資料。這裡有幾種方法來迭代字典:

1. 迭代鍵值對

你可以使用 items() 方法來獲得每個鍵值對:


# 使用迴圈來處理字典
for key, value in my_dict.items():
    print('{}: {}'.format(key, value))

該程式碼的輸出會是:


# name: John
# age: 25
# gender: male

2. 迭代字典的值

你也可以僅迭代字典中的值,使用 values() 方法:


# 使用迴圈來處理字典的值
for value in my_dict.values():
    if isinstance(value, str):
        print('{} is a string'.format(value))
    elif isinstance(value, int):
        print('{} is an integer'.format(value))

這段程式碼會檢查每個值的類型並輸出結果:


# John is a string
# 25 is an integer
# male is a string

錯誤排除與最佳實踐

在迭代字典時,你可能會遇到一些常見的錯誤,例如:

  • KeyError:當你嘗試訪問不存在的鍵時會發生。確保在迭代之前檢查鍵是否存在。
  • TypeError:如果你嘗試對非字典類型的物件使用字典方法,則會引發此錯誤。

建議的最佳實踐包括:使用 dict.get(key) 方法來安全地訪問字典中的值,這樣當鍵不存在時不會引發錯誤。

延伸應用

字典的迭代不僅限於基本的鍵值對處理,你還可以:

  • 結合列表推導式來創建新字典。
  • 使用 filter() 函數來過濾字典中的項目。

結論

透過這些迭代方法,你可以輕鬆管理和操作 Python 字典中的資料。掌握這些技能將有助於提升你的編程能力,並使你的程式碼更具可讀性和效率。

Q&A(常見問題解答)

1. 如何在迭代字典時同時獲取索引?

可以使用 enumerate() 函數來獲取索引:


for index, (key, value) in enumerate(my_dict.items()):
    print('Index {}: {}: {}'.format(index, key, value))

2. 字典的迭代是否會改變字典的內容?

在迭代過程中,如果你在迴圈內改變字典,可能會導致錯誤或不預期的行為。建議在迭代前先複製字典。

3. 如何使用字典推導式來創建新的字典?

你可以使用字典推導式語法來創建新字典,例如:


new_dict = {key: value for key, value in my_dict.items() if value > 20}

這將生成一個新字典,僅包含值大於 20 的鍵值對。

發佈留言