Python字典是一種靈活、可變且可迭代的容器,可以存儲成對的鍵值對,使用鍵來快速訪問值。
一、字典的基本用法
字典使用一對花括弧{}來表示,冒號”:”分隔鍵和值,逗號”,”分隔不同的鍵值對。
# 創建一個簡單字典
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
# 訪問鍵值對
print(my_dict['name']) # 輸出:Alice
print(my_dict['age']) # 輸出:25
# 增加鍵值對
my_dict['city'] = 'Shanghai'
# 更新字典值
my_dict['age'] = 26
# 刪除鍵值對
del my_dict['gender']
# 遍歷字典
for key, value in my_dict.items():
print(key + ': ' + str(value))
字典中的鍵必須是唯一的,但是值可以重複。值可以是任何數據類型,包括數字、字元串、列表和其他的字典。
二、字典的高級用法
1、字典推導式
字典推導式是一種快速創建字典的方法,可以使用條件邏輯等表達式來生成鍵值對。
# 創建一個數字字典的例子
number_dict = {x: x**2 for x in range(1,5)}
print(number_dict) # 輸出:{1: 1, 2: 4, 3: 9, 4: 16}
# 創建一個篩選符合條件的鍵值對的例子
original_dict = {'apple': 1, 'banana': 2, 'orange':3, 'watermelon':4}
new_dict = {k:v for k,v in original_dict.items() if v>2}
print(new_dict) # 輸出:{'orange': 3, 'watermelon': 4}
2、字典的函數
Python字典提供了許多實用的函數,來方便我們對字典進行操作。
(1)len()
用於計算字典元素個數。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
print(len(my_dict)) # 輸出:3
(2)keys()
用於返回字典中的所有鍵。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
print(my_dict.keys()) # 輸出:dict_keys(['name', 'age', 'gender'])
(3)values()
用於返回字典中的所有值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
print(my_dict.values()) # 輸出:dict_values(['Alice', 25, 'Female'])
(4)items()
用於返回字典中的所有鍵值對。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
print(my_dict.items()) # 輸出:dict_items([('name', 'Alice'), ('age', 25), ('gender', 'Female')])
三、字典的應用舉例
1、計數器
利用字典的鍵值對來實現計數器,可以方便快捷地計算出一個列表或字元串中每個元素出現的次數。
string = "hello world"
counter = {}
for i in string:
if i in counter:
counter[i] += 1
else:
counter[i] = 1
print(counter) # 輸出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
2、查找表
將若干個鍵值對組成一個字典,找到一個鍵對應的值可以達到O(1)的時間複雜度,這種方法被稱為查找表,可以用於詞頻統計、數據轉換等場景。
# 將數字轉化為英文字母的查找表
lookup_table = {1: 'one', 2: 'two', 3: 'three'}
number = 2
print(lookup_table[number]) # 輸出:two
3、嵌套字典
字典里可以嵌套字典,用來表示更複雜的數據結構。
# 嵌套字典的例子
car_dict = {
"car1": {
"brand": "Ford",
"model": "Mustang",
"year": 1964
},
"car2": {
"brand": "Tesla",
"model": "Model X",
"year": 2019
},
"car3": {
"brand": "Toyota",
"model": "Corolla",
"year": 2020
}
}
print(car_dict['car2']['model']) # 輸出:Model X
總結
Python字典是一種非常常用的數據結構,可以實現快速的查找和存儲數據。
在使用字典的時候,可以使用字典推導式、內置函數和嵌套字典等高級用法,提高代碼的效率和便捷性。
字典可以應用於查找表、計數器、嵌套字典等多種場景,發揮出非常優秀的性能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193153.html
微信掃一掃
支付寶掃一掃