一、字典的定義和概念
Python中的字典是一種無序的、可變的數(shù)據(jù)類型,它可存儲任意類型的對象(包括其他的可變?nèi)萜黝愋停?,如其他的列表、元組、集合等,而不僅僅是字符串或數(shù)字。
字典是由鍵和對應值組成的映射關(guān)系,比如GPA一科目的得分就可以是一個鍵,而標準的4.0GPA則是這個鍵所對應的值。每個鍵都必須是唯一的,而且必須是不可變的對象,如字符串、元組等不可變類型,給一個鍵賦不同的值,后面的值會覆蓋前面的值。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
上面的例子創(chuàng)建了一個字典,其鍵名為'name'、'age'和'score',對應的值分別是'小明'、25和90。在Python中,字典用大括號“{}”表示,鍵值對之間用冒號“:”隔開。
二、字典的基本操作
1、訪問字典中的值
要訪問字典中的值,可以通過它們的鍵來獲取。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> print(my_dict['name'])
小明
2、修改字典
可以直接對字典的某個鍵值進行修改。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict['score'] = 95
>>> print(my_dict)
{'age': 25, 'name': '小明', 'score': 95}
3、添加新鍵值對
可以直接使用新的鍵以及對應的值來添加新的鍵值對。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict['class'] = '二年級'
>>> print(my_dict)
{'age': 25, 'name': '小明', 'score': 90, 'class': '二年級'}
4、刪除鍵值對
可以使用del語句刪除字典中的某個鍵值對。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> del my_dict['score']
>>> print(my_dict)
{'age': 25, 'name': '小明'}
三、字典的遍歷
可以通過for循環(huán)遍歷字典中的所有鍵值對。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> for key, value in my_dict.items():
print(key, ':', value)
age : 25
name : 小明
score : 90
在上面的例子中,items()方法返回一個包含了字典中所有鍵值對的元組列表,然后通過for循環(huán)遍歷這個列表,每次將鍵存儲在變量key中,將對應值存儲在變量value中。
四、字典的常用方法
Python中的字典有很多內(nèi)置方法,以下是一些常用的方法:
1、clear():刪除字典內(nèi)所有元素。
2、copy():返回一個字典的淺拷貝,即復制一份,但是兩個字典內(nèi)的值還是共享同一塊內(nèi)存。
3、fromkeys(seq[, v]):返回一個新字典,其中的元素由序列seq中的元素做鍵,值都為v。
4、get(key[,d]):返回指定鍵的值,如果鍵不存在,則返回默認值d。
5、items():返回一個包含所有字典項的列表,每個元素是一個(key, value)形式的元組。
6、keys():返回一個包含字典所有key值的列表。
7、values():返回一個包含字典所有value值的列表。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict.clear()
>>> print(my_dict)
{}
>>> new_dict = my_dict.copy()
>>> my_dict['name'] = '小紅'
>>> print(my_dict)
{'name': '小紅'}
>>> print(new_dict)
{}
>>> my_dict = {}.fromkeys(['age', 'name', 'score'], 0)
>>> print(my_dict)
{'name': 0, 'score': 0, 'age': 0}
五、字典推導式
字典推導式是一種從任何序列中創(chuàng)建字典的簡潔方式。字典推導式由一對花括號“{}”和一個鍵值對構(gòu)成,其中鍵值對由冒號分隔,每個鍵值對之間用逗號分隔。
>>> my_dict = {x: x**2 for x in (2, 4, 6)}
>>> print(my_dict)
{2: 4, 4: 16, 6: 36}
上面的例子展示了如何創(chuàng)建一個字典,其中鍵是2、4、6,而每個鍵對應的值分別是4、16、36。
六、結(jié)語
字典是Python中非常常用的一種數(shù)據(jù)類型,其具有無限擴展性和極強的靈活性。在日常的Python編程過程中,熟練掌握字典的各種操作和使用方法是非常重要的,它可以使我們的代碼更加簡潔高效,以及更加易于理解和維護。