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