Python中的集合介紹
1.集合的定義
集合的元素是不可重復的
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))
集合的應用(去重)
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.練習
明明想在學校中請一些同學一起做一項問卷調(diào)查,為了實驗的客觀性
他先用計算機生成了N個1~1000之間的隨機整數(shù)(N<=1000),N是用戶輸入>的,對于
其中重復的數(shù)字,只保留一個,把其余相同的數(shù)字去掉,不同的數(shù)對應著
不同的學生的學號,然后再把這些
數(shù)從小到大排序,按照排好的順序去找同學做調(diào)查,請你協(xié)助明明完成“>去重”與排序工作
s = set([]) for i in range(int(input('N:'))): s.add(random.randint(1,1000)) print(s) print(sorted(s))
ok~
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
爬蟲代理池Python3WebSpider源代碼測試過程解析
這篇文章主要介紹了爬蟲代理池Python3WebSpider源代碼測試過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12簡析Python函數(shù)式編程字符串和元組及函數(shù)分類與高階函數(shù)
這篇文章主要介紹了Python函數(shù)式編程中的字符串、元組及函數(shù)分類與高階函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09三種Matplotlib中動態(tài)更新繪圖的方法總結(jié)
這篇文章主要為大家詳細介紹了如何隨著數(shù)據(jù)的變化動態(tài)更新Matplotlib(Python的數(shù)據(jù)可視化庫)圖,文中介紹了常用的三種方法,希望對大家有所幫助2024-04-04