1.set是一個無序不重複的序列函數
2.能夠用 { } 或者 set( ) 函數建立集合spa
3.集合存放不可變類型(字符串、數字、元組)code
注意:建立一個空集合必須用 set( ) 而不是 { } ,由於 { } 是用來建立一個空字典 blog
# add(x)將元素x添加到集合裏 s = {1,2,3,4,5,} s.add('5') print(s)
{1, 2, 3, 4, 5, '5'}
# update(x),將x添加到集合中,且參數能夠是列表、元組、字典等 s = set(('a', 'cc', 'f')) # 添加字典只能添加不可變的--鍵 dict_1 = {'name': 'bb', 'age': 'cc', 'f': 11} s.update(dict_1) print("添加字典"+str(s))
添加字典{'name', 'a', 'age', 'f', 'cc'}
s = set(('a', 'cc', 'f')) tup_1 = (1, 2,) s.update(tup_1) print(s)
{1, 2, 'a', 'f', 'cc'}
s = set(('a', 'cc', 'f')) list_1 = ['w', 'a', 1] s.update(list_1) print(s)
{1, 'f', 'w', 'a', 'cc'}
# 移除集合中元素,若是移除的元素不在集合中將發生錯誤 s = set(('a', 'cc', 'f')) s.remove('cc') print(s)
{'a', 'f'}
s = set(('a', 'cc', 'f')) s.remove('mm') print(s)
Traceback (most recent call last): File "C:/Users/123/PycharmProjects/py2018/test", line 104, in <module> s.remove('mm') KeyError: 'mm'
# 移除集合中元素,若是移除的元素不在集合中不會發生錯誤 s = set(('a', 'cc', 'f')) s.discard('mm') print(s)
{'cc', 'a', 'f'}
# 隨機刪除集合中元素 s = set(('a', 'cc', 'f')) s.pop() print(s)
{'a', 'cc'}
# 清空集合 s = set(('a', 'cc', 'f')) s.clear() print(s)
set()
s = set(('a', 'cc', 'f')) print('集合元素個數爲:'+str(len(s)))
集合長度爲:3
s = set(('a', 'cc', 'f')) s1 = s.copy() print(s1)
{'a', 'f', 'cc'}
# difference求差集 或者用 - s = set(('a', 'cc', 'f')) s1 = {'a', 'f', 1, 'ww'} # 兩種求差集的方法 print("在s中不在s1中: "+str(s.difference(s1))) print('在s1中不在s中: '+str(s1-s))
在s中不在s1中: {'cc'} 在s1中不在s中: {'ww', 1}
s = set(('a', 'cc', 'f')) s1 = {'a', 'f', 1, 'ww'} # 同時在集合s 和 s1 中的元素 print(s.intersection(s1)) print(s1&s)
{'a', 'f'} {'a', 'f'}
s = set(('a', 'cc', 'f')) s1 = {'a', 'f', 1, 'ww'} # 元素在集合 s 中或在集合 s1 中 print(s.union(s1)) print(s1|s)
{'a', 1, 'f', 'cc', 'ww'} {'a', 1, 'f', 'cc', 'ww'}
s = set(('a', 'cc', 'f')) s1 = {'a', 'f', 1, 'ww'} # 除集合s和集合s1共有的之外的元素 print(s.symmetric_difference(s1)) print(s1^s)
{1, 'ww', 'cc'} {1, 'ww', 'cc'}
s = set(('a', 'cc', 'f')) s1 = {'a', 'f'} print(s.issubset(s1)) print(s1.issubset(s))
False
True
s = set(('a', 'cc', 'f')) s1 = {'a', 'f'} print(s.issuperset(s1)) print(s1.issuperset(s)) # s1是s的子集,s是s1的父集 print(s1.issubset(s))
True
False
True
#將s2更新到s1中的同時去除s2 和s1中相同的元素 s1 = {'ljl','wc','xy','zb','lsy'} s2 = {'mmf','lsy','syj'} s1.symmetric_difference_update(s2) print(s1)
{'syj', 'xy', 'wc', 'ljl', 'zb', 'mmf'}
s1 = {'ljl','wc','xy','zb','lsy'} s2 = {'mmf','lsy','syj'} s3 = {1, 2} print(s1.isdisjoint(s2)) print(s1.isdisjoint(s3))
False
True
s1 = {'ljl','wc','xy','zb','lsy'} s2 = {'mmf','lsy','syj'} s1.intersection_update(s2) s2.intersection_update(s1) print(s1) print(s2)
{'lsy'} {'lsy'}