標籤:src AC 圖片 結果 none item -- amp closed
一:基本使用
1 用途: 關係運算、去重
2 定義方式:{}內用逗號分隔開多個元素,每一個元素都必須是不可變(即可hash)類型
強調:
2.1 集合內元素都必須是不可變(即可hash)類型
2.2 集合內的元素無序
2.3 集合內的元素不能重複
1 s={1,2,‘a‘} #s=set({1,2,‘a‘})# 集合的定義 2 print(type(s)) 3 4 s={1.1,1,‘aa‘,(1,2,3),{‘a‘:1}}#TypeError: unhashable type: ‘dict‘ 5 6 s={1,‘a‘,‘hello‘,(1,2,3),4} 7 for item in s: 8 print(item) 9 10 #集合有去重的效果11 s={1,1,1,1,1,1,1,1,1,‘a‘,‘b‘,‘a‘}12 s={(1,2,3),(1,2,3),‘a‘,‘b‘,‘a‘}13 print(s)14 15 s=set(‘hello‘)16 print(s)舉例說明
1 1、去重的目標所包含的值必須都為不可變類型2 2、去重的結果會打亂原來的順序3 names=[‘asb‘,‘asb‘,‘asb‘,‘wsb‘,‘wsb‘,‘egon_nb‘,[1,2,3]]4 s=set(names)5 6 names=list(s)7 print(names)
單純的用集合去重,需要注意的問題是
3 常用操作+內建的方法
優先掌握的操作:
1 pythoners={‘王大炮‘,‘李二丫‘,‘陳獨秀‘,‘艾裡克斯‘,‘wxx‘,‘歐德博愛‘}2 print(len(pythoners))1、長度len
1 print(‘李二丫‘ in pythoners) 2 3 pythoners={‘王大炮‘,‘李二丫‘,‘陳獨秀‘,‘艾裡克斯‘,‘wxx‘,‘歐德博愛‘}4 linuxers={‘陳獨秀‘,‘wxx‘,‘wlc‘,‘張全蛋‘}2、成員運算in和not in
1 print(pythoners | linuxers)2 print(pythoners.union(linuxers))
3、|並集
1 print(pythoners & linuxers)2 print(pythoners.intersection(linuxers))3 print(linuxers & pythoners)
4、&交集
1 print(pythoners - linuxers)2 print(pythoners.difference(linuxers))3 print(linuxers - pythoners)4 print(linuxers.difference(pythoners))
5、-差集
1 print(pythoners ^ linuxers)2 print(pythoners.symmetric_difference(linuxers))3 4 print(linuxers ^ pythoners)
6、^對稱差集
1 s1={1,2,3}2 s2={1,2,3}3 print(s1 == s2)7、==
1 s1={1,2,3,4,5} 2 s2={1,2,3} 3 print(s1 > s2) # s1包含s2 4 print(s1.issuperset(s2)) 5 print(s2.issubset(s1)) 6 7 s3={1,2,10} 8 print(s1 > s3) 9 10 s1={1,2,3,4,5}11 s2={1,2,3,4,5}12 print(s1 >= s2)8、父集(內含項目關聯性):>,>=
二:該類型總結
1 存一個值or存多個值
可以存多個值,值都必須為不可變類型
2 有序or無序
無序
3 可變or不可變
set集合是可變類型
python基礎文法---資料類型之集合類型