字典的基本特性
創建字典
?修改字典
添加鍵值對?
?刪除鍵值對
字典方法
?遍歷字典
?完結撒花?
前言
字典是 Python 中內建的一種具有彈性儲存能力的數據結構,可存儲任意類型對象,與序列使用整數索引不同,它使用鍵(key)進行索引。
通常任何不變類型的對象均可作為索引,比如數字,字符串和元組,列表可以被修改,不可作為鍵。由于鍵作為索引使用,所以它必須是唯一的。
字典的每個鍵都有對應的值 (value),鍵值對用冒號 “:” 分割,每個鍵值對之間用逗號 “,” 分割,整個字典包括在花括號 {} 中。
注意:dict?作為 Python 的關鍵字和內置函數,變量名不建議命名為?dict?
字典的基本特性
- 無序性:字典中的元素沒有固定的順序,這意味著你不能通過索引來訪問字典中的元素。
- 可變性:字典是可變的,你可以添加、刪除或修改字典中的鍵值對。
- 鍵的唯一性:字典中的鍵是唯一的,不允許重復。如果嘗試添加重復的鍵,新的值會覆蓋舊的值。
- 鍵的不可變性:字典的鍵必須是不可變的,如字符串、數字或元組等。值可以是任何類型,包括列表、字典或其他可變類型。
字典的性能
字典的查找、插入和刪除操作的平均時間復雜度為O(1),這使得字典成為處理大量數據時的理想選擇。字典的實現基于哈希表,它通過計算鍵的哈希值來快速定位鍵值對。
字典的應用場景
字典在許多場景中都非常有用,例如:
- 數據庫查詢:將查詢結果存儲為字典,便于訪問和處理。
- 配置文件:使用字典來存儲程序的配置選項。
- 數據分析:在數據處理和分析中,字典常用于存儲和處理統計數據。
- 緩存系統:字典可以作為緩存系統的基礎,快速存儲和檢索數據。
字典的注意事項
- 字典的鍵必須是不可變的,如果嘗試使用可變對象作為鍵,會導致錯誤。
- 字典的鍵是唯一的,如果添加重復的鍵,新的值會覆蓋舊的值。
- 字典是無序的,如果需要有序的字典,可以使用?
collections.OrderedDict
。
?
?創建字典
# 創建一個空字典
empty_dict = {}# 創建一個帶有鍵值對的字典
dict_with_values = {'name': 'Alice', 'age': 30, 'city': 'New York'}
可以使用方括號 []
運算符訪問字典中的值,其中方括號內指定要訪問的鍵:?
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}
print(person['name']) # 輸出: Alice
?修改字典
字典是可變的,可以通過鍵來修改對應的值:
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}
person['age'] = 31 # 修改年齡
print(person) # 輸出: {'name': 'Alice', 'age': 31, 'city': 'New York'}
添加鍵值對?
在Python,我們可以通過三種方式來添加字典的鍵值對分別是方括號 []
運算符、update()
方法
setdefault()
方法
setdefault()
方法將指定鍵及其默認值添加到字典中。如果鍵已存在,則返回其值。
# 使用方括號運算符
my_dict = {}
my_dict['name'] = 'John Doe'
my_dict['age'] = 30# 使用update()方法
my_dict.update({'salary': 5000, 'department': 'IT'})# 使用setdefault()方法
my_dict.setdefault('address', '123 Main Street')# 打印字典
print(my_dict)
輸出結果
{'name': 'John Doe', 'age': 30, 'salary': 5000, 'department': 'IT', 'address': '123 Main Street'}
請注意,使用 []
運算符添加鍵值對時,如果鍵已存在,則會覆蓋其值。使用 update()
和 setdefault()
方法時,如果鍵已存在,則不會覆蓋其值?
?刪除鍵值對
在Python,我們可以通過三種方式來刪除字典的鍵值對分別是del
語句、pop()
方法、popitem()
方法
示例
# 使用del語句
my_dict = {'name': 'John Doe', 'age': 30, 'salary': 5000}
del my_dict['age']# 使用pop()方法
my_dict.pop('salary')# 使用popitem()方法
my_dict.popitem()# 打印字典
print(my_dict)
輸出
{'name': 'John Doe'}
?請注意,使用 del
語句刪除鍵值對后,該鍵值對將從字典中永久刪除。使用 pop()
和 popitem()
方法刪除鍵值對后,可以將返回的鍵值對重新添加到字典中。
?
字典方法
Python提供了多種字典方法來操作字典:
dict.keys() | 返回字典的所有鍵。 |
dict.values()? ? ? ? ?? | 返回字典的所有值。 |
dict.items() | 返回字典的所有鍵值對。 |
dict.get(key[, default]) | 返回指定鍵的值,如果鍵不存在,則返回默認值(可選)。 |
dict.pop(key[, default]) | 刪除指定鍵的鍵值對,并返回其值。如果鍵不存在,且提供了默認值,則返回默認值。 |
dict.popitem() | 隨機刪除一個鍵值對,并返回該鍵值對。 |
dict.clear() | 清空字典中的所有鍵值對。 |
?遍歷字典
my_dict = {'name': 'John Doe', 'age': 30, 'salary': 5000}for key, value in my_dict.items():print(key, value)
輸出
name John Doe
age 30
salary 5000
請注意,在遍歷字典時,字典的大小和內容可能會發生變化。因此,在遍歷過程中修改字典時要小心。
?完結撒花
Python的字典是一種非常強大和靈活的數據結構,它提供了高效的鍵值對存儲和訪問機制。字典的無序性、可變性和鍵的唯一性使得它在處理復雜數據時非常有用。通過掌握字典的基本操作和方法,可以有效地利用字典來解決實際編程中的問題。
?