
在Python編程語(yǔ)言中,意思set是意思一個(gè)內置的數據結構,它用來(lái)存儲唯一的意思元素集合,與列表(List)或元組(Tuple)不同,意思集(ji)合中的意思元素不允許重復,且集合??是意思無(wú)序的,這意味著(zhù)集(ji)合會(huì )自動(dòng)去除任何重復的意思元素,并且不保證元素的意思順序。
set的意思特( ?ヮ?)點(diǎn):
1、唯一性:集合中的意思元素是唯一的,沒(méi)(mei)有重復值。意思
2、意思???無(wú)序??性:集合中的意思元素是無(wú)序的,你不能通過(guò)索引來(lái)訪(fǎng)問(wèn)(wen)它們。意思
3、??可變:集合是(╯°□°)╯可變的,你可以添加或刪除元素。
4、不支持索引和切片:由于集合是??無(wú)序的,所以不支持索引和切片操作。
5、支持數學(xué)集合操作:如并集、交集、差集和對稱(chēng)差集。
創(chuàng )建set:
創(chuàng )建一個(gè)空集合必須使用 set() 函數,而創(chuàng )建一個(gè)非空集合可以使用 { } 或 s(′?_?`)et() 函數。
創(chuàng )建一個(gè)空集合empty_set = set()創(chuàng )建一個(gè)非空集合non_empty_set = { 1, 2, 3, 4}或者non_empty(′?ω?`)_set = set([1, 2, 3, 4])基本操作(zuo):
添加元素:使用 add() 方法可以向集合中添加元素。
刪除元素:使用 remove() 方法可以刪除集合中的指定元素。
檢查(′?`*)元素是否存在:使用 in 關(guān)鍵字來(lái)檢查元素是否存在于集合中。
創(chuàng )建一個(gè)集合my_??set = set([1, 2, 3, 4])?添加元素my_set.add(5)pri(╬?益?)nt(my_se???t) # 輸出:{ 1, 2, 3, 4, 5}刪除元素my_set.remove(3)print(my_set) # 輸出:{ 1, 2, 4, 5}檢查元素是否存在print(3 in my_se(?????)t) # 輸出:False集合運算:
Python的集合支持以下幾種數學(xué)上的集合操作。
并集:使用 | 運算符或 union() 方法得到兩個(gè)集合的并集??。
交集:使用 & 運算符或 intersection() 方法得到兩個(gè)集合的交集。
差集:使用 運算符或 differ(′?`)ence() 方法得到兩個(gè)集合的差ヾ(′▽?zhuān)??集。
對稱(chēng)差集:使用 ^ 運算符或 symmetric_difference() 方法得到兩個(gè)集合的對稱(chēng)差集。
創(chuàng )建兩個(gè)集合set1 = { 1, 2, 3, 4}set2 = { 3, 4, 5, 6}并集print??(set1 | set2) # 輸出:{ 1, 2, 3, 4, 5, 6}交集print(se(′▽?zhuān)?t1 & set2) # 輸出:{ 3, 4}差集print(set1 set2) # 輸出:{ 1, 2}對稱(chēng)差集print(set1 ^ set2) # 輸出:{ 1, 2, 5, 6}不可變集合:
如果你需要一個(gè)不能修改的集合(即不允許添加??或刪除元素),Python提供了 frozenset 類(lèi)型,一旦創(chuàng )建,frozenset 中的元??素就不能改變了??。
創(chuàng )建一個(gè)frozensetfrozen_set = frozenset([1, 2, 3, 4])print(frozen_set) # 輸出?:frozenset({ 1, 2, 3, 4})結論:
Python中的 set 是一種非常有用的數據結構,特別適合于處理需要去重的場(chǎng)景,以及進(jìn)行各種集合運算,掌握?? set 的使用,可以更有??效地解決實(shí)際編程問(wèn)題。