1. 程式人生 > >python(9)——集合

python(9)——集合

tro 集合刪除 enc inter 不能 pri cti set 特點

已經學過的python數據類型有:int、float、str、list、dict、tuple、bool、set

集合set:

集合也是一種數據類型,也是用{}括起開,一個類似列表東西,它的特點是無序的,不重復的,也就是說集合中是沒有重復的數據

操作集合

#定義集合
jihe=set() #定義一個空的集合
set1={niuniu,huihui,hehe}  #直接定義一個集合
list=[1,1,2,7,5,4,3,4]
set2= set(list)  #將list轉為集合
set3 = set([1,1,2,7,5,4,3,4])  #將list轉為集合

#集合添加元素
set1.add(
hello) # #集合刪除元素 set1.remove(niuniu) #刪除指定元素 set1.pop() #隨機刪除一個元素 #集合循環 for i in set1: print(i)

集合的作用:

1、它可以把一個列表中重復的數據去掉,而不需要你再寫判斷

# 集合 也是用{}擴起開
# 天生可以去重  可循環
# # 集合是無序的 不能排序,要排序的話轉成list
list=[1,1,2,2,3,3]
res=set(list)  #列表轉集合
print(res)  #{1, 2, 3}
list2=list(res) #集合轉列表
print(list2)  #
[1, 2, 3]

2、可以做關系測試,比如說有兩個班,一個性能測試班,一個是自動化班的,想找出來既學習了性能又學習了自動化的同學,就可以用集合

xingneng =[tanailing,yanfan,liurongxin,xiaohei]
zdh=[tanailing,yanfan,tt]
xingneng=set(xingneng)
zdh=set(zdh)

# #取交集
res=xingneng.intersection(zdh)
res=xingneng & zdh
print(交集,res)    #交集 {‘tanailing‘, ‘yanfan‘}
# #取並集--將兩個集合合並到一起,並去重 res= xingneng.union(zdh) res=xingneng | zdh print(並集,res) #並集 {‘xiaohei‘, ‘tt‘, ‘liurongxin‘, ‘tanailing‘, ‘yanfan‘} # #差集--a裏面有,b裏面沒有 res=xingneng.difference(zdh) res=xingneng - zdh print(差集,res) #差集 {‘xiaohei‘, ‘liurongxin‘} # #對稱差集--取兩個集合中不重復的 res=xingneng.symmetric_difference(zdh) res = xingneng ^ zdh print(對稱差集,res) #對稱差集 {‘xiaohei‘, ‘tt‘, ‘liurongxin‘}
import string
l1=set(string.ascii_lowercase)
l2={a,b,c}
print(l2.issubset(l1))  #l2是否為l1的子集   True
print(l2.issuperset(l1))  #l2是否為l1的父集  False
print(l2.isdisjoint(l1)) #有交集,返回False;無交集,返回True  False

python(9)——集合