Python中的字典是一種無序的數據結構,可以高效地存儲和訪問鍵值對。Python中的字典是使用哈希表實現的,這使得字典的訪問時間幾乎是固定的,與字典的大小無關。
一、創建字典
要創建一個字典,可以使用花括號{}或者dict()函數。
# 使用{}創建字典 person = {'name': 'John', 'age': 25, 'address': 'New York'} # 使用dict()函數創建字典 person = dict(name='John', age=25, address='New York')
在字典中,每個鍵都必須是唯一的。如果同一個鍵被多次賦值,只會保留最後一個值。
person = {'name': 'John', 'age': 25, 'address': 'New York', 'age': 30} print(person['age']) #30
二、訪問字典
要訪問字典中的鍵值,可以使用中括號[]或者get()函數。如果鍵不存在,使用中括號會拋出鍵錯誤,而get()函數會返回None。
person = {'name': 'John', 'age': 25, 'address': 'New York'} # 使用中括號訪問鍵值 print(person['name']) #John # 使用get()方法訪問鍵值 print(person.get('address')) #New York
可以在使用中括號訪問鍵值時,使用第二個參數作為默認值,以防止鍵錯誤。
person = {'name': 'John', 'age': 25, 'address': 'New York'} print(person.get('phone', 'Not available')) #Not available
三、添加和修改字典
要向字典中添加或修改鍵值,可以使用中括號[]或者update()方法。
# 添加鍵值 person = {'name': 'John', 'age': 25, 'address': 'New York'} person['phone'] = '555-1234' # 修改鍵值 person['age'] = 30 # 使用update()方法添加或修改鍵值 person.update({'email': 'john@example.com', 'age': 35})
四、刪除鍵值
要從字典中刪除鍵值,可以使用del語句或者pop()方法。
# 刪除鍵值 person = {'name': 'John', 'age': 25, 'address': 'New York'} del person['address'] # 使用pop()方法刪除鍵值 person.pop('age') # 刪除字典中所有鍵值 person.clear()
五、遍歷字典
要遍歷字典中的所有鍵值,可以使用for循環。可以使用keys()方法訪問所有的鍵,也可以使用values()方法訪問所有的值。還可以使用items()方法訪問所有的鍵值對。
person = {'name': 'John', 'age': 25, 'address': 'New York'} # 遍歷所有的鍵 for key in person.keys(): print(key) # 遍歷所有的值 for value in person.values(): print(value) # 遍歷所有的鍵值對 for key, value in person.items(): print(key, value)
六、字典推導式
字典推導式可以根據已有的字典創建一個新的字典。可以使用if語句過濾需要的鍵值對。
person = {'name': 'John', 'age': 25, 'address': 'New York'} # 創建新的字典 new_person = {key: value for key, value in person.items() if key != 'address'} print(new_person)
七、使用defaultdict
defaultdict是一個字典子類,如果訪問不存在的鍵,會返回一個默認值。這個默認值可以在創建defaultdict時指定。
from collections import defaultdict # 創建默認值為int的defaultdict d = defaultdict(int) # 訪問不存在的鍵,返回默認值0 print(d['a']) # 默認值也可以是一個函數 s = 'mississippi' d = defaultdict(int) for letter in s: d[letter] += 1 print(d)
八、使用Counter
Counter是一個字典子類,用於計數可哈希對象。它可以用於統計列表中各個元素出現的次數。
from collections import Counter # 計數列表中各個元素出現的次數 words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'] word_counts = Counter(words) print(word_counts)
九、總結
字典在Python編程中非常重要,可以高效地存儲和訪問鍵值對。本文介紹了如何創建、訪問、添加、修改、刪除和遍歷字典,以及如何使用字典推導式、defaultdict和Counter。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295704.html