系列文章目錄
個(gè)人簡(jiǎn)介:機(jī)電專(zhuān)業(yè)在讀研究生,CSDN內(nèi)容合伙人,博主個(gè)人首頁(yè)
Python入門(mén)專(zhuān)欄:《Python入門(mén)》歡迎閱讀,一起進(jìn)步!??????
碼字不易,如果覺(jué)得文章不錯(cuò)或能幫助到你學(xué)習(xí),可以點(diǎn)贊??收藏??評(píng)論??+關(guān)注哦!??????
導(dǎo)語(yǔ)
歡迎來(lái)到本系列教程的第八篇,這一篇博客將介紹關(guān)于字典和集合的基礎(chǔ)知識(shí)。字典和集合是 Python 中常用的數(shù)據(jù)結(jié)構(gòu),它們可以用于存儲(chǔ)和處理各種類(lèi)型的數(shù)據(jù)。在本篇博客中,我們將一步步介紹字典的創(chuàng)建、訪問(wèn)和操作,以及集合的創(chuàng)建和運(yùn)算。
字典
字典和列表類(lèi)似,也是可變序列,不過(guò)與列表不同,它是無(wú)序的可變序列,保存的內(nèi)容是以 “鍵值對(duì)(key-value)” 的形式存放的,即,字典中的每個(gè)元素由一個(gè)鍵和一個(gè)值組成,鍵和值之間用冒號(hào)(:)分隔,每個(gè)鍵值對(duì)之間用逗號(hào)(,)分隔。字典的鍵必須是唯一的,而值可以是任意類(lèi)型的對(duì)象。
字典的創(chuàng)建和刪除
在 Python 中,可以使用花括號(hào) {}
和冒號(hào)來(lái)創(chuàng)建一個(gè)字典。例如:
person = {"name": "Alice", "age": 25, "gender": "female"}
也可以使用內(nèi)置的 dict()
函數(shù)來(lái)創(chuàng)建字典。例如:
person = dict(name="Alice", age=25, gender="female")
要?jiǎng)h除字典,可以使用 del
語(yǔ)句。例如:
person = {"name": "Alice", "age": 25, "gender": "female"}
del person
另外,如果只是想刪除字典的全部元素,可以使用字典對(duì)象的 clear()
方法實(shí)現(xiàn)。執(zhí)行 clear()
方法后,原字典將變?yōu)榭兆值?。下面的代碼將清除字典的全部元素:
person. clear()
除了上面介紹的方法可以刪除字典元素,還可以使用字典對(duì)象的 pop()
方法刪除并返回指定 “鍵” 的元素,以及使用字典對(duì)象的 popitem()
方法隨機(jī)地移除字典中的一個(gè)鍵值對(duì),并返回被移除的鍵和值。
通過(guò)“鍵值對(duì)”訪問(wèn)字典
可以通過(guò)字典中的鍵來(lái)訪問(wèn)對(duì)應(yīng)的值。例如:
person = {"name": "Alice", "age": 25, "gender": "female"}
print(person["name"])
輸出結(jié)果為:
Alice
如果訪問(wèn)的鍵不存在,將會(huì)拋出 KeyError
異常。為了避免這種情況,可以使用 get()
方法來(lái)獲取值。例如:
person = {"name": "Alice", "age": 25, "gender": "female"}
print(person.get("height", "Unknown")) # get 方法設(shè)置默認(rèn)值,當(dāng)指定的鍵不存在時(shí),得到的結(jié)果就是指定的默認(rèn)值。
輸出結(jié)果為:
Unknown
遍歷字典
Python 中,字典對(duì)象提供了 items()
、values()
和 keys()
方法,用于返回字典的 “鍵值對(duì)”、值和鍵列表,可以通過(guò) for
循環(huán)遍歷該字典的 “鍵值對(duì)”、值和鍵列表:
person = {"name": "Alice", "age": 25, "gender": "female"}
for key, value in person.items():
print(key, value)
for value in person.values():
print(value)
for key in person: # 等效于 for key in person.keys():
print(key)
'''
輸出:
name Alice
age 25
gender female
Alice
25
female
name
age
gender
'''
添加、修改和刪除字典元素
可以使用賦值運(yùn)算符來(lái)添加、修改和刪除字典的元素。例如,添加新的鍵值對(duì):
person = {"name": "Alice", "age": 25, "gender": "female"}
person["height"] = 165
修改已有鍵的值:
person = {"name": "Alice", "age": 25, "gender": "female"}
person["age"] = 26
刪除指定鍵的鍵值對(duì):
person = {"name": "Alice", "age": 25, "gender": "female"}
del person["gender"]
當(dāng)刪除一個(gè)不存在的鍵時(shí),將拋出 KeyError
異常。因此,需要將上面的代碼修改為以下內(nèi)容,從而防止刪除不存在的元素時(shí)拋出異常:
person = {"name": "Alice", "age": 25, "gender": "female"}
if "gender" in person:
del person["gender"]
print(person)
字典推導(dǎo)式
字典推導(dǎo)式是一種簡(jiǎn)潔創(chuàng)建字典的方法,類(lèi)似于列表推導(dǎo)式。它可以根據(jù)一個(gè)表達(dá)式和一個(gè)可迭代對(duì)象來(lái)創(chuàng)建字典。例如,將列表的元素作為鍵,其平方作為值創(chuàng)建字典:
numbers = [1, 2, 3, 4, 5]
squared_dict = {x: x**2 for x in numbers}
print(squared_dict)
輸出結(jié)果為:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
集合
集合是一種無(wú)序、不重復(fù)元素的數(shù)據(jù)結(jié)構(gòu)。集合中的元素可以是任意類(lèi)型的(如整數(shù)、浮點(diǎn)數(shù)、字符串、元組等),它有可變集合(set) 和不可變集合(frozenset) 兩種。這里所要介紹的 set 集合是可變序列。在形式上,集合的所有元素都放在一-對(duì)大括號(hào) “{}” 中,兩個(gè)相鄰元素間使用逗號(hào) “,” 分隔。集合最好的應(yīng)用就是成員檢測(cè)和去重,因?yàn)榧现械拿總€(gè)元素都是唯一的。
集合的創(chuàng)建和刪除
在 Python 中,可以使用花括號(hào) “{}” 或 set()
函數(shù)來(lái)創(chuàng)建一個(gè)集合。例如:
fruits = {"apple", "banana", "cherry"}
nums = {3,1,4,1,5,9,2,6}
set1 = {'Python',28,('人生苦短','我用Python')}
使用 set()
函數(shù)將列表、元組等其他可迭代對(duì)象轉(zhuǎn)換為集合:
fruits = set("人生苦短,我用Python")
nums = set([3,1,4,1,5,9,2,6])
set1 = ( ('Python',28,('人生苦短','我用Python')) )
要?jiǎng)h除集合,可以使用 del
語(yǔ)句。例如:
fruits = {"apple", "banana", "cherry"}
del fruits
注意:
- 在創(chuàng)建集合時(shí),如果輸入了重復(fù)的元素,Python 會(huì)自動(dòng)只保留一個(gè)。
- 由于 Python 中的 set 集合是無(wú)序的,所以每次輸出時(shí)元素的排列順序可能不同。
- 創(chuàng)建集合時(shí)推薦采用
set()
函數(shù)實(shí)現(xiàn)。這是因?yàn)樵趧?chuàng)建空集合時(shí),只能使用set()
函數(shù)實(shí)現(xiàn),而不能使用一對(duì)大括號(hào) “{}” 實(shí)現(xiàn),在 Python 中,直接使用一對(duì)大括號(hào) “{}” 表示創(chuàng)建一個(gè)空字典。
集合的添加和刪除
可以使用 add()
方法向集合中添加元素。例如:
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
可以使用 remove()
方法或 discard()
方法刪除集合中的元素。它們的區(qū)別在于,remove()
方法在元素不存在時(shí)會(huì)拋出 KeyError
異常,而 discard()
方法不會(huì)。例如:
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
fruits.discard("orange")
另外,如果只是想刪除集合的全部元素,可以使用集合對(duì)象的 clear()
方法實(shí)現(xiàn)。執(zhí)行 clear()
方法后,原集合將變?yōu)榭占稀_€可以使用集合對(duì)象的 pop()
方法隨機(jī)移除并返回一個(gè)元素。
集合的交集、并集和差集運(yùn)算
集合最常用的操作就是進(jìn)行交集、并集和差集運(yùn)算。例如,交集運(yùn)算使用 &
符號(hào),并集運(yùn)算使用 |
符號(hào),差集運(yùn)算使用 -
符號(hào):
fruits1 = {"apple", "banana", "cherry"}
fruits2 = {"banana", "orange", "pear"}
intersection = fruits1 & fruits2
union = fruits1 | fruits2
difference = fruits1 - fruits2
列表、元組、字典和集合的區(qū)別
數(shù)據(jù)結(jié)構(gòu) | 是否可變 | 是否重復(fù) | 是否有序 | 定義符號(hào) |
---|---|---|---|---|
列表 | 可變 | 可重復(fù) | 有序 | [] |
元組 | 不可變 | 可重復(fù) | 有序 | () |
字典 | 可變 | 可重復(fù) | 無(wú)序 | {key:value} |
集合 | 可變 | 不可重復(fù) | 無(wú)序 | { } |
結(jié)語(yǔ)
在本篇博客中,介紹了 Python 中的字典和集合。列字典是一種鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和管理可變的數(shù)據(jù)集合,而集合是一種無(wú)序、不重復(fù)元素的數(shù)據(jù)結(jié)構(gòu),用于高效地進(jìn)行成員檢測(cè)和去重。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-581903.html
希望本篇博客對(duì)你學(xué)習(xí) Python 有所幫助。祝你在學(xué)習(xí) Python 的過(guò)程中取得成功!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-581903.html
到了這里,關(guān)于Python零基礎(chǔ)入門(mén)(八)——字典與集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!