一、字典的基礎概念
字典是一種用於存儲和組織數據的數據類型,在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-tw/n/187519.html
微信掃一掃
支付寶掃一掃