1.集合的定義
集合的元素是不可重復(fù)的
s = {1,2,3,1,2,3,4,5}print(s)print(type(s))s1 = {1}print(s1)print(type(s1))
集合就算只有一個元素,也是集合,不需要像列表一樣,加個逗號
那么如何定義一個空集合
s2 = {}print(type(s2))s3 = set([])print(s3)print(type(s3))
集合的應(yīng)用(去重)
li = [1,2,3,1,2,3]print(list(set(li)))

2.集合的特性
集合只支持成員操作符和for循環(huán)
s = {1,2,3}print(1 in s)此時的返回值為True
for i in s: print(i,end='|')for i,v in enumerate(s): print('index: %s,value: %s' %(i,v))
3.集合的常用方法
集合是無序的數(shù)據(jù)類型,添加順序和在集合中存儲的數(shù)據(jù)不一定相同
1)增加元素
s = {6,7,8,9}#增加一個元素s.add(1)print(s)2)增加多個元素
s.update({5,3,2}) ##使用update命令print(s)3)刪除
s.pop()print(s)
刪除指定元素
s.remove(5)print(s)
4)集合運算
s = {1,2,3}s2={2,3,4}并集
print('并集:',s1.union(s2))print('并集:',s1|s2)交集
print('交集:',s1.intersection(s2))print('交集:',s1&s2)差集
print('差集:',s1.difference(s2)) #s1-(s1&s2)print('差集:',s2.difference(s1)) #s2-(s1&s2)對等差分:并集-交集
print('對等差分:',s2.symmetric_difference(s1))print('對等差分:',s1^s2)集合關(guān)系的判斷
s3 = {1,2}s4 = {1,2,3}#s3是否為s4的超集#超集:如果s3中的每一個元素都在集合s4中,且s4中可能包含s3中沒有的元素,#那么s4就是s3的一個超集print(s3.issuperset(s4))print(s4.issuperset(s3))#s3是否為s4的子集print(s3.issubset(s4))#兩個集和是不是 不相交print(s3.isdisjoint(s4))4.練習(xí)
明明想在學(xué)校中請一些同學(xué)一起做一項問卷調(diào)查,為了實驗的客觀性
他先用計算機(jī)生成了N個1~1000之間的隨機(jī)整數(shù)(N<=1000),N是用戶輸入>的,對于
其中重復(fù)的數(shù)字,只保留一個,把其余相同的數(shù)字去掉,不同的數(shù)對應(yīng)著
不同的學(xué)生的學(xué)號,然后再把這些
新聞熱點
疑難解答