pythoners=['王大炮','李二丫','陳獨秀','艾里克斯','wxx','歐德博愛']linuxers=['陳獨秀','wxx','egon','張全蛋']
l1=forstuinpythoners:
ifstuinlinuxers:
# print(stu)
print(l1)
l2=forstuinpythoners:
ifstunot inlinuxers:
# print(stu)
print(l2) #求出pythoners中除去與linuxers相同的值
一:基本使用
1 用途: 關係運算、去重
2 定義方式:{}內用逗號分隔開多個元素,每乙個元素都必須是不可變(即可hash)型別
強調:2.1 集合內元素都必須是不可變(即可hash)型別
2.2 集合內的元素無序
2.3 集合內的元素不能重複
s= #s=set()
print(type(s))
s=}s=
foritemins:
print(item)
s=s=
print(s)
s=set('hello')
print(s)
單純的用集合去重,需要注意的問題是
1、去重的目標所包含的值必須都為不可變型別
2、去重的結果會打亂原來的順序
names=['asb','asb','asb','wsb','wsb','egon_nb',[1,2,3]]
s=set(names)
names=list(s)
print(names)
3 常用操作+內建的方法
優先掌握的操作:
1、長度len
pythoners=
print(len(pythoners))
2、成員運算in和notinprint('李二丫'inpythoners)
pythoners=
linuxers=
3、|並集
print(pythoners | linuxers)
print(pythoners.union(linuxers))#輸出兩個集合內所有的值
4、&交集
print(pythoners & linuxers)
print(pythoners.intersection(linuxers))
print(linuxers & pythoners) #兩個集合內相同的值
5、-差集
print(pythoners - linuxers)
print(pythoners.difference(linuxers))
print(linuxers - pythoners)
print(linuxers.difference(pythoners)) #第乙個集合所有值減去兩個集合相同的值
6、^對稱差集
print(pythoners ^ linuxers)
print(pythoners.symmetric_difference(linuxers)) #兩個集合所有的值去除兩個集合內相同的值
print(linuxers ^ pythoners)
7、==
s1=s2=
print(s1 == s2) #兩個集合所有的值相同
8、父集(包含關係):>,>=
s1=s2=
print(s1 > s2) # s1包含s2
print(s1.issuperset(s2))
print(s2.issubset(s1))
s3=print(s1 > s3) #不能比較
s1=s2=
print(s1 >= s2) #只要大於的等於乙個成立就滿足
9、子集(被包含的關係):<,<=
s1=s1.add(6)
print(s1) #加乙個值
s1.update()
print(s1) #加入沒有的值,重複的不新增
res=s1.pop()
print(res) #隨便刪除乙個值
res=s1.remove(4)
print(res)
print(s1) #刪除直接加上值,單純刪除
s1=s2=
s1=s1 - s2
print(s1)
s1.difference_update(s2) # s1=s1 - s2
print(s1) #
s1=s1.pop()
s1.remove(7)
s1.discard(7) # 即便要刪除的元素不存在也不會報錯
s1=s2=
print(s1.isdisjoint(s2))#判斷兩個沒有交集則為true
#二:該型別總結
1 存乙個值or存多個值
可以存多個值,值都必須為不可變型別
2 有序or無序
無序3 可變or不可變
set集合是可變型別
s=print(id(s))
s.add(4)
print(s)
print(id(s))
********************=集合的去重*************************=
單純的用集合去重,需要注意的問題是
1、去重的目標所包含的值必須都為不可變型別
2、去重的結果會打亂原來的順序
names=['asb','asb','asb','wsb','wsb','egon_nb',[1,2,3]]
s=set(names)
names=list(s)
print(names)#轉換型別
stu_info=[,,
,,
,]new_info=
forinfoinstu_info:
ifinfonot innew_info:
print(new_info)#不改變順序的情況下去重
python集合型別
集合也是容器,其內元素都是無序 唯 一 不可變的。它常用來做成員測試 移除重複資料 資料計算 比如交集 並集 差集 集合set是dict的無value版。集合也使用大括號包圍 s type s set中的元素和dict一樣也是通過hash值來儲存的 將元素hash 得到hash值,儲存到set中。所...
python 的集合型別詳解
目錄 無序不重複的元素的程式設計客棧組合 利用集合可以刪除列表中的重複項 set 唱用作去重操作 分類 可變集合 set 不可變集合 frozenset 用set 函式 可變集合 或frozenset 函式 不可變集合 建立 set frozenset 不可變集合是可雜湊的,可變集合是可雜湊的 為差...
Python集合(set)型別
python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...