一、字典的基本概念及使用方法
字典是Python中的一種非常重要的數據結構,它是一種鍵-值對集合,通過鍵來訪問值。字典中的鍵必須是唯一的,而值可以是任意類型的數據,包括另一個字典。字典是Python中最常用的數據結構之一,常用來實現數據快速查找。
字典的創建非常簡單,我們可以通過 {} 或 dict() 函數來創建一個空字典,也可以在創建字典的同時添加鍵值對。
{}
dict()
{'name': 'Tom', 'age': 18}
通過使用字典的鍵來訪問值,可以使用索引方式,如字典名[key]。
person = {'name': 'Tom', 'age': 18}
print(person['name']) # 輸出 'Tom'
print(person['age']) # 輸出 18
字典還提供了許多常用的方法,比如 items() 方法用於返回鍵值對的元組,keys() 方法用於返回所有鍵,values() 方法用於返回所有值。
person = {'name': 'Tom', 'age': 18}
print(person.items()) # 輸出 dict_items([('name', 'Tom'), ('age', 18)])
print(person.keys()) # 輸出 dict_keys(['name', 'age'])
print(person.values()) # 輸出 dict_values(['Tom', 18])
二、字典實現數據快速查找的示例
字典最常用的功能之一是實現數據快速查找,下面我們通過一個示例來看看具體的用法。
假設我們有一張學生成績表,包含姓名和對應的成績。我們希望通過姓名來查找對應的成績,這個時候就可以使用字典來實現。
scores = {'Tom': 90, 'Jerry': 85, 'Marry': 95}
print(scores['Tom']) # 輸出 90
print(scores.get('Jerry')) # 輸出 85
print(scores.get('Tony', '無數據')) # 輸出 '無數據'
在上面的代碼中,我們使用{}來創建了一個字典scores,其中鍵是學生姓名,值是對應的成績。之後,我們通過使用[]或get()方法來訪問字典中特定的鍵值對,從而實現了根據姓名查找成績的目的。
有時,我們需要對字典中的數據進行更新或者擴展,這個時候,就可以使用 update() 方法。該方法可以用來把一個字典添加到另一個字典中,也可以用來更新已有的鍵值對。
scores = {'Tom': 90, 'Jerry': 85, 'Marry': 95}
scores.update({'Tony': 92, 'Jerry': 88})
print(scores) # 輸出 {'Tom': 90, 'Jerry': 88, 'Marry': 95, 'Tony': 92}
三、字典的高級用法
除了字典的基本用法,Python還提供了許多高級的字典用法,包括嵌套字典、字典推導式、有序字典等等。
在Python中,我們可以在字典中嵌套其他字典,從而實現多重映射。嵌套字典的用法非常簡單,就是在一個字典中添加另一個字典作為值。
users = {
'Tom': {'age': 18, 'gender': 'male'},
'Jerry': {'age': 20, 'gender': 'female'}
}
print(users['Tom']['age']) # 輸出 18
print(users['Jerry']['gender']) # 輸出 'female'
字典推導式是Python中非常有用的一個功能,它允許我們使用簡潔的語法來創建一個字典。字典推導式的語法格式為: {key:value for (key, value) in iterable} 。
data = [('Tom', 90), ('Jerry', 85), ('Tony', 92)]
scores = {name:score for (name, score) in data}
print(scores) # 輸出 {'Tom': 90, 'Jerry': 85, 'Tony': 92}
有序字典是Python3.7中新增的功能,它是在普通字典的基礎上增加了一個記錄元素插入順序的功能。我們可以使用collections模塊的OrderedDict類來創建一個有序字典。
from collections import OrderedDict
scores = OrderedDict([('Tom', 90), ('Jerry', 85), ('Marry', 95)])
print(scores) # 輸出 OrderedDict([('Tom', 90), ('Jerry', 85), ('Marry', 95)])
scores['Tony'] = 92
print(scores) # 輸出 OrderedDict([('Tom', 90), ('Jerry', 85), ('Marry', 95), ('Tony', 92)])
四、總結
字典是Python中常用的數據結構之一,它可以實現非常高效的數據快速查找功能。通過本文的介紹,相信大家已經了解到了字典的基本概念和用法,以及一些高級用法,比如嵌套字典、字典推導式、有序字典等等。
在實際編程中,我們應該靈活運用字典這種數據結構,以提高程序的效率和可讀性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/250899.html