一、字典的基礎概念
字典是一種用於存儲和組織數據的數據類型,在Python中以花括號 {} 來表示。它由一系列鍵值對組成,每個鍵值對之間用逗號分隔。其中,鍵和值之間使用冒號 : 進行分割。
# 字典的創建 dict1 = {'Alice': 24, 'Bob': 27, 'Cathy': 22} # 字典的讀取 print(dict1['Bob']) # 輸出 27 # 字典的修改 dict1['Alice'] = 25 print(dict1) # 輸出 {'Alice': 25, 'Bob': 27, 'Cathy': 22} # 字典的刪除 del dict1['Cathy'] print(dict1) # 輸出 {'Alice': 25, 'Bob': 27}
字典的一個重要特點是,它的鍵必須是唯一的。如果有兩個鍵重複了,後面的那個鍵會覆蓋前面的鍵,例如:
dict2 = {'Alice': 24, 'Bob': 27, 'Cathy': 22, 'Bob': 30} print(dict2) # 輸出 {'Alice': 24, 'Bob': 30, 'Cathy': 22}
二、字典的操作
1. 添加鍵值對
向字典中添加一個新鍵值對,可以使用變量名後面的方括號 [],並在方括號內指定新鍵,再指定新值即可。
# 創建一個空的字典 dict3 = {} # 添加新鍵值對 dict3['Alice'] = 25 dict3['Bob'] = 27 dict3['Cathy'] = 22 print(dict3) # 輸出 {'Alice': 25, 'Bob': 27, 'Cathy': 22}
2. 獲取鍵值對
獲取字典中的某個鍵對應的值,可以通過用方括號 [] 指定鍵名來實現。
print(dict1['Alice']) # 輸出 25
如果需要獲取字典中所有的鍵值對可以使用items()函數,它會返回一個由所有鍵值對組成的列表,其中每個鍵值對以元組的形式存儲。
print(dict1.items()) # 輸出 dict_items([('Alice', 25), ('Bob', 27)])
3. 修改鍵值對
與添加鍵值對時相似,修改字典中的某個鍵對應的值,只需要用相應的鍵名訪問它,並賦一個新值。
dict1['Alice'] = 26 print(dict1) # 輸出 {'Alice': 26, 'Bob': 27}
4. 刪除鍵值對
要刪除字典中的某個鍵值對,可以使用Python內置的del語句,並在其後加上要刪除的鍵名。
del dict1['Alice'] print(dict1) # 輸出 {'Bob': 27}
5. 遍歷字典
使用items()函數可以遍歷字典中的所有鍵值對,每次迭代時,該函數返回一個鍵值對元組。
for key, value in dict1.items(): print(key + ': ' + str(value))
三、字典的應用
1. 統計單詞頻率
可以使用字典來計算文本中單詞的頻率。首先要將文本分割成單詞列表,然後遍歷列表中的每個單詞,並將出現次數存儲在一個字典中。
text = 'Python is a powerful high-level programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming.' word_list = text.split(' ') word_dict = {} for word in word_list: if word not in word_dict: word_dict[word] = 1 else: word_dict[word] += 1 print(word_dict) # 輸出 {'Python': 1, 'is': 1, 'a': 1, 'powerful': 1, 'high-level': 2, 'programming': 2, 'language.': 1, 'It': 1, 'has': 1, 'efficient': 1, 'data': 1, 'structures': 1, 'and': 1, 'simple': 1, 'but': 1, 'effective': 1, 'approach': 1, 'to': 1, 'object-oriented': 1}
2. 解析CSV文件
CSV是一種常見的數據格式,可以使用字典來解析並操作CSV文件中的數據。例如,以下CSV文件記錄了一些人的名字和電話號碼:
Alice,123456 Bob,987654 Cathy,556677
可以使用Python內置的csv模塊來解析該文件,並將數據存儲在一個字典中。
import csv with open('data.csv', 'r') as csvfile: reader = csv.reader(csvfile) dict4 = {rows[0]:rows[1] for rows in reader} print(dict4) # 輸出 {'Alice': '123456', 'Bob': '987654', 'Cathy': '556677'}
3. 數據庫查詢結果處理
在數據庫查詢結果中,通常返回的數據是以字典的形式進行封裝和返回。例如,在MySQL中使用Python操作數據庫查詢時,每一行數據會以字典的形式返回。
import pymysql # 連接數據庫 db = pymysql.connect(host='localhost', user='root', password='1234', db='test') cursor = db.cursor() # 執行查詢語句 sql = "SELECT * FROM Employee" cursor.execute(sql) # 獲取所有記錄列表 results = cursor.fetchall() # 打印記錄 for row in results: print("ID=%s, Name=%s, Age=%s, Gender=%s" % (row['id'], row['name'], row['age'], row['gender'])) # 關閉數據庫連接 db.close()
四、總結
在Python中,字典是一種非常有用的數據類型,常用於索引、查找和組織數據等操作。在實際使用中,我們可以通過添加鍵值對、獲取鍵值對、修改鍵值對、刪除鍵值對和遍歷字典等方式,對字典進行操作。除此之外,字典還有許多應用場景,例如統計單詞頻率、解析CSV文件、處理數據庫查詢結果等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187519.html