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...