Python 的內置函數 dict() 用於創建一個字典對象,是 Python 中最常用的數據結構之一。字典以鍵值對(key-value)的形式存儲數據,具有高效的查找性能。
基本用法
-
創建空字典
empty_dict = dict() # 等價於 empty_dict = {} -
通過鍵值對創建字典
person = dict(name='Alice', age=25, city='New York') # 等價於 person = {'name': 'Alice', 'age': 25, 'city': 'New York'} -
通過可迭代對象創建字典
# 使用包含元組的列表 items = [('name', 'Bob'), ('age', 30)] person = dict(items) # 使用 zip 函數 keys = ['name', 'age'] values = ['Charlie', 35] person = dict(zip(keys, values))
字典的特性
- 鍵必須是不可變類型:如字符串、數字或元組(但元組中不能包含可變元素)
- 值可以是任意類型:包括其他字典、列表等
- 無序性(Python 3.7+ 後保持插入順序)
- 可變性:可以動態添加、修改或刪除鍵值對
常用字典操作
-
訪問元素
print(person['name']) # 獲取鍵對應的值 print(person.get('age', 0)) # 安全獲取,不存在時返回默認值 -
修改/添加元素
person['age'] = 40 # 修改 person['job'] = 'Engineer' # 添加 -
刪除元素
del person['city'] # 刪除指定鍵 age = person.pop('age') # 刪除並返回值 person.clear() # 清空字典 -
其他常用方法
keys = person.keys() # 獲取所有鍵 values = person.values() # 獲取所有值 items = person.items() # 獲取所有鍵值對
字典推導式
類似於列表推導式,可以快速生成字典:
squares = {x: x*x for x in range(5)}
# 結果: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
應用場景
- 配置存儲:存儲程序配置參數
- 數據緩存:作為臨時數據存儲容器
- JSON 處理:與 JSON 數據結構天然對應
- 快速查找:利用哈希表特性實現高效查詢
性能特點
- 查找、插入和刪除操作的平均時間複雜度都是 O(1)
- 相比列表,字典佔用更多內存空間
- 當數據量很大時,字典的性能優勢更加明顯
注意事項
- 避免使用可變對象作為鍵
- 字典在 Python 3.6 及更早版本中不保證順序
- 字典鍵是大小寫敏感的(如 'Name' 和 'name' 是不同的鍵)
-
使用
in關鍵字可以檢查鍵是否存在:if 'name' in person: print("Key exists")
Python 的字典實現基於哈希表,這種設計使其成為處理鍵值對數據的高效工具,是 Python 編程中不可或缺的數據結構。