一、字典簡介
Python 中的字典(Dictionary)是一種可變容器,用於存儲鍵值對(key-value pairs)。
字典可以通過鍵(key)快速查找值(value),並支持添加、修改和刪除元素等操作。由於字典底層是通過哈希表實現的,所以查找速度非常快,適用於需要頻繁查詢鍵值對的場景。
# 字典定義 dict = {'name': '張三', 'age': 28, 'address': '北京市海淀區'} # 訪問字典元素 print(dict['name']) # 輸出結果為:張三 print(dict['address']) # 輸出結果為:北京市海淀區
在字典中,鍵必須是唯一的、不可變的對象,如數字、字符串和元組等。值可以是任意對象。
二、字典操作
1. 添加和修改元素
可以通過字典的鍵來添加新值或修改已有值。
# 添加新元素 dict = {'name': '張三', 'age': 28} dict['address'] = '北京市海淀區' print(dict) # 輸出結果為:{'name': '張三', 'age': 28, 'address': '北京市海淀區'} # 修改元素值 dict['age'] = 29 print(dict) # 輸出結果為:{'name': '張三', 'age': 29, 'address': '北京市海淀區'}
2. 刪除元素
可以通過 del 語句來刪除字典指定的元素。
# 刪除元素 dict = {'name': '張三', 'age': 28, 'address': '北京市海淀區'} del dict['address'] print(dict) # 輸出結果為:{'name': '張三', 'age': 28}
3. 字典方法
Python 字典還提供了一系列方法,用於操作字典元素。
- keys():返回字典中所有的鍵。
- values():返回字典中所有的值。
- items():返回字典中所有的鍵值對。
- clear():清空字典。
# 字典方法示例 dict = {'name': '張三', 'age': 28, 'address': '北京市海淀區'} print(dict.keys()) # 輸出結果為:dict_keys(['name', 'age', 'address']) print(dict.values()) # 輸出結果為:dict_values(['張三', 28, '北京市海淀區']) print(dict.items()) # 輸出結果為:dict_items([('name', '張三'), ('age', 28), ('address', '北京市海淀區')]) dict.clear() print(dict) # 輸出結果為:{}
三、實際應用場景
1. 計數器
字典可以作為計數器來記錄每個元素出現的次數。
# 計數器示例 str = 'hello,world' dict = {} for i in str: dict[i] = dict.get(i, 0) + 1 print(dict) # 輸出結果為:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, 'w': 1, 'r': 1, 'd': 1}
2. 數據映射
字典可以用於實現數據映射,例如將數據庫查詢結果映射為字典。
# 數據映射示例 fields = ['name', 'age', 'gender'] values = ['張三', 28, '男'] dict = {fields[i]:values[i] for i in range(len(fields))} print(dict) # 輸出結果為:{'name': '張三', 'age': 28, 'gender': '男'}
3. 緩存
字典可以用於緩存計算結果,提升程序性能。
# 緩存示例 dict = {} def calc(x): if x in dict: return dict[x] else: result = x * x dict[x] = result return result print(calc(2)) # 輸出結果為:4 print(calc(3)) # 輸出結果為:9 print(calc(2)) # 輸出結果為:4,從緩存中讀取結果
四、總結
Python 字典提供了一種高效的數據結構,可用於存儲鍵值對,實現快速查找和操作。在實際應用中,字典可以用於計數器、數據映射、緩存等多種場景。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304262.html