在 Python 中,字典(dictionary
)是一種以鍵值對(key-value pairs)形式存儲數據的資料結構。每個鍵(key)都唯一地對應一個值(value),這使得字典非常適合快速查找數據。與列表不同,字典是無序的(在 Python 3.7 之後,字典是有序的,但無法依靠索引來訪問元素)。字典中的鍵必須是不可變的數據類型,例如字串、數字或元組,而值可以是任意類型。
字典可以使用花括號 {}
或 dict()
函數來創建。每個鍵和值之間用冒號 :
分隔,不同的鍵值對用逗號 ,
分隔。
# 使用花括號創建字典
student = {
"name": "Alice",
"age": 25,
"major": "Computer Science"
}
# 使用 dict() 創建字典
student2 = dict(name="Bob", age=22, major="Mathematics")
在這裡,student
字典包含了學生的姓名、年齡和主修學科。
可以通過鍵來訪問字典中的值,語法為 dictionary[key]
。如果鍵不存在,將會引發 KeyError
。
範例:
print(student["name"]) # 輸出:Alice
print(student["age"]) # 輸出:25
若不確定鍵是否存在,建議使用 get()
方法,該方法在鍵不存在時返回 None
或一個指定的默認值。
範例:
print(student.get("major")) # 輸出:Computer Science
print(student.get("grade", "N/A")) # 輸出:N/A,因為 "grade" 鍵不存在
字典是可變的,因此可以修改現有的值或添加新的鍵值對。
student["age"] = 26
print(student) # 輸出:{'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
student["grade"] = "A"
print(student) # 輸出:{'name': 'Alice', 'age': 26, 'major': 'Computer Science', 'grade': 'A'}
可以使用 del
語句或 pop()
方法來刪除字典中的鍵值對。
del
刪除鍵值對:del student["major"]
print(student) # 輸出:{'name': 'Alice', 'age': 26, 'grade': 'A'}
pop()
方法刪除鍵值對:pop()
方法會刪除並返回被刪除的值。
age = student.pop("age")
print(age) # 輸出:26
print(student) # 輸出:{'name': 'Alice', 'grade': 'A'}
可以使用 for
迴圈來遍歷字典中的鍵或值。keys()
方法返回所有的鍵,values()
返回所有的值,而 items()
則返回鍵值對的元組列表。
for key in student:
print(key) # 輸出:name, grade
for value in student.values():
print(value) # 輸出:Alice, A
for key, value in student.items():
print(key, ":", value)
輸出結果:
name : Alice
grade : A
字典具有多種內建方法,這些方法可以用來操作字典。
keys()
:返回字典中的所有鍵。values()
:返回字典中的所有值。items()
:返回字典中的所有鍵值對(元組形式)。update()
:用來更新字典中的內容,可以將另一個字典的鍵值對合併到當前字典中。clear()
:清空字典中的所有元素。範例:
student.update({"major": "Data Science", "age": 27})
print(student) # 輸出:{'name': 'Alice', 'grade': 'A', 'major': 'Data Science', 'age': 27}
student.clear()
print(student) # 輸出:{}
就像列表生成器一樣,我們也可以使用字典生成器來快速創建字典。生成器語法可以根據需求動態創建字典。
squares = {x: x**2 for x in range(1, 6)}
print(squares) # 輸出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
這段代碼使用字典生成器創建了一個包含 1 到 5 的數字及其平方值的字典。
字典廣泛應用於需要快速查找資料的情況,例如處理用戶資料、統計數據等。它還非常適合存儲結構化數據,如 JSON 資料格式。
text = "hello world"
char_count = {}
for char in text:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
print(char_count)
輸出結果:
{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
這段程式碼統計了字串中每個字符出現的次數,並將結果存儲在字典中。
字典是 Python 中一種強大且靈活的資料結構,適合存儲鍵值對形式的數據。通過字典,我們可以高效地查找、更新或刪除數據。此外,字典的內建方法提供了多種操作和處理數據的方式。理解並掌握字典的使用,能夠幫助我們在程式設計中處理更複雜的數據結構和應用場景。
你➕1了沒 台灣首發晶片設計教材要開始募資啦
趕快點擊去了解 👉 https://wlinny.com