Python基礎(四) set型別

2021-08-28 20:01:14 字數 1562 閱讀 4443

set是一種無序的、不重複的元素集,可以進行關係測試和刪除重複元素。還可以進行交集、差集、並集和對稱差集的運算。

set是一種無序集合,不能通過索引獲取元素。可以通過「in」判斷set集合是否含有乙個元素,若含有返回true,否則返回false。

set的內部結構和dict很想,不同之處在於set只含有dict的key而不含有value。且同dict集合的key一樣,存放於set集合的元素必須是不可變的。

set集合使用set()方法或大括號進行定義,呼叫set()方法傳入的引數為迭代器型別的集合,如序列、字典、字串等,然後轉化成無序的、不重複的元素集。

a = set(['a','b','c','c']) #傳入list集合(列表)

print a #輸出 set(['a', 'c', 'b'])

b = set('abc') #傳入字串

print b #輸出 set(['a', 'c', 'b'])

c = set()

print c #輸出 set(['a', 'c', 'b'])

d = set() #傳入dict集合(字典)

print d #輸出 set(['a', 'c', 'b'])

e = set(('a','b','c')) #傳入tuple集合(元組)

print e #輸出 set(['a', 'c', 'b'])

f = #使用大括號建立

print f #輸出 set(['a', 'c', 'b'])

建立乙個空的set集合只能用set(),不能使用{}。因為{}建立的是乙個空字典。

set的新增有add()方法和update()兩種方法,add()方法是把引數作為乙個整體新增到集合中;而update()方法是將傳入的引數拆分為單個元素,去除重複元素後加入到集合中。

#add()方法

a = set(['a','b','c'])

print a #輸出set(['a','b','c'])

a.add('cde')

print a #輸出set(['a','b','c','cde'])

#update()方法

a = set(['a','b','c'])

print a #輸出set(['a','b','c'])

a.update('cde')

print a #輸出set(['a','b','c','d','e'])

set的刪除有四種方法:remove(element)在set集合中查詢element,如果存在刪除該元素,如果該元素不存在則報錯;discard(element)在set集合中查詢element元素,如果存在就刪除該元素,如果不存在則什麼都不做;pop()方法,此方法無引數,用來隨機刪除set集合中乙個元素,如果set元素為空則報key錯誤;clear()函式,清空set集合。

set集合的遍歷與其他遍歷方式一致:

for key in a:

print key

#輸出結果為

#a#c

#b

Python 基礎型別set

1.去重 集合內不可能出現相同的元素 2.關係運算 如 共同好友 共同關注.交叉並集.用集合就是用上面兩個功能 如果都用不上 那麼就不要用 s 1.集合內的元素必須是不可變型別 2.元素與元素之間逗號隔開 不是鍵值對 3.集合內的元素也是無序的 如何定義空集合 s1 d1 print type s1...

Python集合(set)型別

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...

Python基礎知識(四)之set集合

集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。建立格式 parame 或者set value orange in basket 快速判斷元素是否在集合內 true crabgrass in...