在Python中,集合是一種無(wú)序且不重復(fù)的數(shù)據(jù)類型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡(jiǎn)單,只需要使用大括號(hào){}或者set()函數(shù)即可。
使用大括號(hào){}創(chuàng)建集合
使用大括號(hào){}創(chuàng)建集合,需要將元素用逗號(hào)隔開(kāi),并將整個(gè)集合放在一對(duì)大括號(hào){}中,例如:
set1 = {1, 2, 3, 4, 5}
上述代碼創(chuàng)建了一個(gè)名為set1的集合,其中包含了整數(shù)1到5。需要注意的是,大括號(hào){}在Python中還可以用于創(chuàng)建字典類型,因此如果要?jiǎng)?chuàng)建一個(gè)空集合,必須使用set()函數(shù)。
使用set()函數(shù)創(chuàng)建集合
使用set()函數(shù)創(chuàng)建集合,可以將一個(gè)可迭代對(duì)象(如列表、元組、字符串等)轉(zhuǎn)換為集合。例如:
set2 = set([1, 2, 3, 4, 5])set3 = set('hello')
上述代碼分別創(chuàng)建了兩個(gè)集合set2和set3,其中set2包含了整數(shù)1到5,set3包含了字符串'hello'中的字符。需要注意的是,通過(guò)set()函數(shù)創(chuàng)建的集合是無(wú)序的,因此元素的順序可能與原來(lái)的順序不同。
集合操作
創(chuàng)建好集合之后,可以進(jìn)行一些基本的集合操作。例如,可以使用in關(guān)鍵字判斷一個(gè)元素是否在集合中:
set1 = {1, 2, 3, 4, 5}
print(1 in set1) # True
print(6 in set1) # False
可以使用len()函數(shù)獲取集合的大?。?/p>
set2 = set([1, 2, 3, 4, 5])print(len(set2)) # 5
可以使用add()方法向集合中添加一個(gè)元素:
set3 = set('hello')set3.add('!')print(set3) # {'o', 'h', 'e', '!', 'l'}
可以使用remove()方法從集合中刪除一個(gè)元素:
set4 = {1, 2, 3, 4, 5}set4.remove(3)print(set4) # {1, 2, 4, 5}
需要注意的是,如果要?jiǎng)h除的元素不存在于集合中,會(huì)引發(fā)KeyError異常。為了避免這種情況,可以使用discard()方法,該方法不會(huì)引發(fā)異常。
集合運(yùn)算
除了基本的集合操作,還可以進(jìn)行一些集合運(yùn)算。例如,可以使用union()方法求兩個(gè)集合的并集:
set1 = {1, 2, 3}set2 = {3, 4, 5}print(set1.union(set2)) # {1, 2, 3, 4, 5}
可以使用intersection()方法求兩個(gè)集合的交集:
set1 = {1, 2, 3}set2 = {3, 4, 5}print(set1.intersection(set2)) # {3}
還可以使用difference()方法求兩個(gè)集合的差集:
set1 = {1, 2, 3}set2 = {3, 4, 5}print(set1.difference(set2)) # {1, 2}
需要注意的是,集合運(yùn)算的結(jié)果是一個(gè)新的集合,不會(huì)影響原來(lái)的集合。