集合是乙個無序的,不重複的資料組合,它的主要作用如下:
去重,把乙個列表變成集合,就自動去重了關係測試,測試兩組資料之前的交集、差集、並集等關係
集合(set):把不同的元素組成一起形成集合,是python基本的資料型別。集合元素(set elements):組成集合的成員(不可重複)
集合物件是一組無序排列的可雜湊(不可變,類似字典的鍵)的值:集合成員可以做字典的鍵
集合分類:可變集合、不可變集合可變集合(set):可新增和刪除元素,非可雜湊的,不能作為字典的鍵,也不能做其他集合的元素
不可變集合(frozenset):與上面恰恰相反
li=[[1,2],'a','b'
]s =set(li) #
typeerror: unhashable type: 'list'
print(s)
a=set('由於集合沒有自己的語法格式,只能通過集合的方法 set() 和frozenset() 建立,或者 {} 來建立alex li a
') #
有多個 a
(a) #
集合會把重複的去掉,並無序的列印出來
b=['
aaa','
bbb','
aaa'
]s=set(b)
(s) #
列表裡有重複,會把重複的去掉
s1 = set('由於集合本身是無序的,所以不能為集合建立索引或切片操作,只能迴圈遍歷或使用in、not in來訪問或判斷集合元素。alvin')
s2= frozenset('
yuan
') #
不可變集合
s3=print(s1,type(s1)) #
print(s2,type(s2)) #
frozenset()
s1 = set('可使用以下內建方法來更新:alvin')
print('a'
ins1)
print('b'
ins1)
#s1[1] #typeerror: 'set' object does not support indexing
for i in
s1:
(i)#
#true
#false#v
#n#l
#i#a
set.add():增
set.remove():刪
set.update():改
注意:只有可變集合才能更新:
#s1 = frozenset('alvin')
#s1.add(0) #attributeerror: 'frozenset' object has no attribute 'add'
s2=set('
alvin')
s2.add('mm
') #
『mm』 會作為乙個整體存入
print(s2) #
s2.update('ho
')#
新增多個元素,把 ho 拆開,作為單個元素新增進去,如果有重複的,會去重
print(s2) #
s2.update([12,'1 in ,not in:判斷某元素是否在集合內alex
','eee
','alvin
']) #
列表裡面,元素是乙個整體,
print(s2) #
s2.remove('l
') #
指定刪除,當值不存在時,會報錯
print(s2) #
s2.discard('
vvvv
') #
指定刪除,當值不存在時,不會報錯
s2.pop()
#隨機刪除乙個元素
s2.clear() #
清空集合
del s2:刪除集合本身
2 集合等價與不等價(==, !=)
3 子集、超集
4 print(a.isdisjoint(b)),兩個集合沒有任何關聯就返回為真
python資料型別 集合
集合介紹 集合用法 集合的交集差集 intersection 這倆是交集 集合的並集 對稱差集 兩集合相交集合之外的集合 包含關係 總結 s set 3,5,9,10 建立乙個數值集合 t set hello 建立乙個唯一字元的集合 a t s t 和 s的並集 b t s t 和 s的交集 c t...
python資料型別之集合型別
一 集合的作用 知識點回顧 可變型別是不可hash型別,不可變型別是可hash型別 作用 去重,關係運算 定義 可以包含多個元素,用逗號分割,集合的元素遵循三個原則 1.每個元素必須是不可變型別 可hash,可作為字典的key 2.沒有重複的元素 4.無序 注意集合的目的是將不同的值存放在一起,不同...
python資料型別之集合
集和 set 字典的近親 實現列表去重 方法1 li 1,2,3,4,3,2 s set li l list s print set l 方法2 li 1,2,3,4,3,2 d fromkeys li print d.keys 集和是無序的,不重複的資料型別,不支援索引,切片,重複,和連線,但支援...