Python 字典方法:初學者全方位指南

你好,有志成為 Python 程式設計師的朋友!很高興能夠在這個充滿驚喜的 Python 字典世界中成為你的嚮導。作為一個教了多年計算機科學的人,我敢保證字典不僅非常實用,而且使用起來也非常有趣。那麼,讓我們一起深入探索那些使字典成為 Python 中強大工具的各種方法吧!

Python - Dictionary Methods

什麼是 Python 字典?

在我們探究方法之前,先快速回顧一下字典是什麼。你可以將 Python 字典視為真實世界字典的數位版本。字典中不是詞語和它們的定義,而是鍵和值。字典中的每個鍵都是唯一的,並與特定的值相關聯。

這裡有一個簡單的例子:

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

在這個字典中,"name", "species" 和 "age" 是鍵,而 "Fluffy", "cat" 和 3 是它們各自的值。

字典方法概述

Python 為我們提供了各種方法來操作和與字典互動。讓我們通過一個方便的表格來看看這些方法:

方法 描述
clear() 刪除字典中的所有項目
copy() 返回字典的淺拷貝
fromkeys() 創建一個新的字典,具有指定的鍵和值
get() 返回指定鍵的值
items() 返回字典的 (鍵, 值) 元組對列表
keys() 返回字典鍵的列表
pop() 刪除並返回具有指定鍵的元素
popitem() 刪除並返回最後插入的鍵-值對
setdefault() 返回指定鍵的值。如果鍵不存在:插入鍵,並指定值
update() 使用指定的鍵-值對更新字典
values() 返回字典值的列表

現在,讓我們詳細探索這些方法,並通過示例和解釋來了解它們。

字典方法的詳細解釋

1. clear() 方法

clear() 方法的功能正如其名——它會清除字典中的所有項目,留下一個空的字典。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}
print("清除前:", my_pet)
my_pet.clear()
print("清除後:", my_pet)

輸出:

清除前: {'name': 'Fluffy', 'species': 'cat', 'age': 3}
清除後: {}

正如你所見,在使用 clear() 方法之後,我們的 my_pet 字典現在是空的。這就像給你的寵物一個全新的開始!

2. copy() 方法

copy() 方法會創建字典的淺拷貝。這意味著它會創建一個新的字典,其中包含對原始元素的引用。

original_dict = {"a": 1, "b": 2, "c": 3}
copied_dict = original_dict.copy()

print("原始字典:", original_dict)
print("複製字典:", copied_dict)

# 修改複製的字典
copied_dict["d"] = 4
print("\n修改後:")
print("原始字典:", original_dict)
print("複製字典:", copied_dict)

輸出:

原始字典: {'a': 1, 'b': 2, 'c': 3}
複製字典: {'a': 1, 'b': 2, 'c': 3}

修改後:
原始字典: {'a': 1, 'b': 2, 'c': 3}
複製字典: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

請注意,複製的字典可以獨立於原始字典進行修改。這就像擁有一個雙胞胎,他們可以改變自己的髮型而不影響到你!

3. fromkeys() 方法

fromkeys() 方法會根據給定的鍵序列創建一個新的字典,並使用用戶指定的值。

keys = ['a', 'b', 'c']
value = 0

new_dict = dict.fromkeys(keys, value)
print(new_dict)

# 使用 fromkeys() 時不指定默認值
another_dict = dict.fromkeys(['x', 'y', 'z'])
print(another_dict)

輸出:

{'a': 0, 'b': 0, 'c': 0}
{'x': None, 'y': None, 'z': None}

當你想要創建一個具有預定義鍵和默認值的字典時,此方法特別有用。這就像設置一個新的檔案系統,所有的檔案夾一開始都是空的!

4. get() 方法

get() 方法會返回指定鍵的值,如果鍵在字典中。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

print(my_pet.get("name"))
print(my_pet.get("color", "未指定"))

輸出:

Fluffy
未指定

get() 方法的美之所在在於,如果鍵不存在,它不會引發錯誤。相反,它會返回 None 或你指定的默認值。這就像問朋友關於寵物的特質——如果他們不知道,他們也許會說 "不太清楚" 而不是感到不高興!

5. items() 方法

items() 方法會返回一個視圖物件,其中包含字典的鍵-值對,作為列表中的元組。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

print("字典項目:")
for key, value in my_pet.items():
print(f"{key}: {value}")

輸出:

字典項目:
name: Fluffy
species: cat
age: 3

此方法對於迭代字典非常有用。這就像瀏覽一本攝影冊,每張照片(值)都有一個說明(鍵)!

6. keys() 方法

keys() 方法會返回一個視圖物件,其中包含字典中所有鍵的列表。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

print("字典鍵:", my_pet.keys())

# 在循環中使用 keys()
print("\n迭代鍵:")
for key in my_pet.keys():
print(key)

輸出:

字典鍵: dict_keys(['name', 'species', 'age'])

迭代鍵:
name
species
age

當你只需要處理字典中的鍵時,此方法非常棒。這就像擁有字典的目錄一樣!

7. pop() 方法

pop() 方法會刪除具有指定鍵的項目,並返回該值。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

removed_value = my_pet.pop("age")
print("刪除的值:", removed_value)
print("更新後的字典:", my_pet)

# 使用 pop() 時指定默認值
color = my_pet.pop("color", "未指定顏色")
print("顏色:", color)

輸出:

刪除的值: 3
更新後的字典: {'name': 'Fluffy', 'species': 'cat'}
顏色: 未指定顏色

pop() 方法就像一個魔術師從帽子中拉出一隻兔子——它從字典中刪除項目,並將其展示給你!

8. popitem() 方法

popitem() 方法會刪除並返回最後插入的鍵-值對作為元組。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3}

last_item = my_pet.popitem()
print("刪除的項目:", last_item)
print("更新後的字典:", my_pet)

輸出:

刪除的項目: ('age', 3)
更新後的字典: {'name': 'Fluffy', 'species': 'cat'}

當你想逐一處理和刪除字典中的項目時,此方法非常有用。這就像從一副牌中取出最後一張牌——一旦它消失了,就消失了!

9. setdefault() 方法

setdefault() 方法會返回存在時的鍵的值。如果不存在,則插入指定的鍵和值,並返回該值。

my_pet = {"name": "Fluffy", "species": "cat"}

# 鍵存在
print(my_pet.setdefault("name", "Buddy"))

# 鍵不存在
print(my_pet.setdefault("age", 3))

print("更新後的字典:", my_pet)

輸出:

Fluffy
3
更新後的字典: {'name': 'Fluffy', 'species': 'cat', 'age': 3}

此方法就像一個有禮貌的客人——如果鍵(座位)被佔用了,它不會打擾它,但如果它是空的,它就坐下來,讓自己感到像在家一樣!

10. update() 方法

update() 方法會使用另一個字典或鍵/值對的可迭代元素來更新字典。

my_pet = {"name": "Fluffy", "species": "cat"}
print("原始字典:", my_pet)

# 使用另一個字典更新
my_pet.update({"age": 3, "color": "white"})
print("第一次更新後:", my_pet)

# 使用鍵-值對更新
my_pet.update(weight=4.2, favorite_food="tuna")
print("第二次更新後:", my_pet)

輸出:

原始字典: {'name': 'Fluffy', 'species': 'cat'}
第一次更新後: {'name': 'Fluffy', 'species': 'cat', 'age': 3, 'color': 'white'}
第二次更新後: {'name': 'Fluffy', 'species': 'cat', 'age': 3, 'color': 'white', 'weight': 4.2, 'favorite_food': 'tuna'}

update() 方法就像一個友好的鄰居——它為你的字典帶來新信息,並更新已存在的內容!

11. values() 方法

values() 方法會返回一個視圖物件,其中包含字典中所有值的列表。

my_pet = {"name": "Fluffy", "species": "cat", "age": 3, "color": "white"}

print("字典值:", my_pet.values())

# 在循環中使用 values()
print("\n迭代值:")
for value in my_pet.values():
print(value)

輸出:

字典值: dict_values(['Fluffy', 'cat', 3, 'white'])

迭代值:
Fluffy
cat
3
white

當你只需要處理字典中的值時,此方法非常完美。這就像專注於答案而不用擔心問題一樣!

總結

恭喜!你已經探索了所有 Python 字典的內置方法。這些方法是你在字典上高效、有效地工作的工具箱。請記住,熟練需要練習,所以不要猶豫在自己的代碼中嘗試這些方法。

在你繼續 Python 的旅程中,你會發現字典及其方法非常靈活,可以用於解決各種編程問題。它們就像 Python 數據結構中的瑞士軍刀!

繼續編程,繼續學習,最重要的是,享受 Python 的樂趣!誰知道?也許有一天你會寫出自己的 Python 教程,並與下一代程式設計師分享你的知識。開心編程!

Credits: Image by storyset