《Python程序設(shè)計案例教程》 課件 4.4集合_第1頁
《Python程序設(shè)計案例教程》 課件 4.4集合_第2頁
《Python程序設(shè)計案例教程》 課件 4.4集合_第3頁
《Python程序設(shè)計案例教程》 課件 4.4集合_第4頁
《Python程序設(shè)計案例教程》 課件 4.4集合_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Python編程基礎(chǔ)集

合一、集合的定義與訪問二、集合的常見操作引

入元素唯一只能包含不可變類型(或者說可哈希)的數(shù)據(jù)無序的可變序列集合通過一對大括號"{}"將元素括起來創(chuàng)建集合,或利用set()函數(shù)創(chuàng)建集合。【例】

set1={1,2,3}set2={'Python','Java','C’}#創(chuàng)建空集合時要注意empty_set1={}print(type(empty_set1))empty_set2=set()一、集合的定義與訪問#此時創(chuàng)建的不是空集合,而是空字典#輸出結(jié)果:<class'dict’>#創(chuàng)建空集合只能用set()函數(shù)使用set()函數(shù)還可以將其他類型數(shù)據(jù)轉(zhuǎn)換為集合【例】>>>set1=set(range(5,10)){5,6,7,8,9}>>>set2=set([2,4,6])#將列表轉(zhuǎn)換為集合

{2,4,6}>>>set3=set('ABCD')#將字符串轉(zhuǎn)換為集合

{'C','A','D','B’}>>>set4=set([0,1,2,4,0,1,2,3,7,8])#自動去除重復(fù)

{0,1,2,3,4,7,8}一、集合的定義與訪問由于集合是無序序列,因此不能通過索引的方式訪問集合中的元素,只能通過遍歷來訪問集合中所有的元素。此外,集合也同樣支持使用in和notin檢查元素是否在集合中?!纠?gt;>>s_set=set('ABCD’)>>>'E'ins_setFalse>>>'E'notins_setTrue>>>forcins_set:print(c,end=',')D,C,B,A,一、集合的定義與訪問二、集合的常見操作添加與刪除向集合中添加元素可以使用add()和update()方法【例】>>>students={'小劉','小張','小王'}>>>students.add('小李'){'小劉','小李','小王','小張'}>>>students.update('小趙'){'小劉','趙','小李','小','小張','小王’}如果希望使用update()方法,實現(xiàn)和add()相同的效果,可以將輸出語句改為:不同之處在于,add()方法是把指定的值作為一個元素添加到集合中;而update()方法是將指定值拆分后,將個體添加到集合中,即一次性添加多個元素。students.update({'小趙'})二、集合的常見操作刪除當(dāng)某個集合不再被使用時,可以使用del命令刪除整個集合。

移除集合中的對象,可以使用pop()方法:彈出并刪除一個元素;remove()方法:直接刪除指定元素;clear()方法:清空集合。執(zhí)行程序,運(yùn)行結(jié)果:{5,7,9}{2,5,7,9}{2,5,9}【例】a={1,5,7,3,9}a.pop()#1a.pop()#3print(a)a.add(2)print(a)a.remove(7)print(a)dela最后一步使用del命令刪除了整個集合這時,如果依然“print(a)”,會發(fā)生“name'a'isnotdefined”錯誤。二、集合的常見操作集合運(yùn)算跟數(shù)學(xué)中學(xué)習(xí)的集合概念類似,Python中集合也支持交集、并集、差集、包含等數(shù)學(xué)集合運(yùn)算??梢允褂眠\(yùn)算符或內(nèi)置方法實現(xiàn)相關(guān)操作。運(yùn)算符內(nèi)置方法說明A&BA.intersection(B)交集。返回一個新集合,包含同時在集合A和B中的元素A|BA.union(B)并集。返回一個新集合,包含在集合A和B中的所有元素A-BA.difference(B)差集。返回一個新集合,包含在集合A中但不在集合B中的元素A^BA.symmetric_difference(B)補(bǔ)集。返回一個新集合,包含集合A和B中元素,但不包含同時在集合A、B中的元素A<=BA.issubset(B)A是否為B的子集。如果集合A和B相同或者A是B的子集,返回True,否則返回False。A>=BA.issuperset(B)A是否為B的超集。如果集合A和B相同或者A是B的超集,返回True,否則返回False。二、集合的常見操作【例】A={'數(shù)學(xué)','語文','英語','物理','化學(xué)','生物'}B={'數(shù)學(xué)','語文','英語','政治','地理','歷史'}print(A&B)print(A|B)print(A-B)print(A^B)print(A.issubset(B))print(A.issuperset(B))執(zhí)行程序,運(yùn)行結(jié)果:{'英語','語文','數(shù)學(xué)'}{'政治','地理','英語','生物','語文','數(shù)學(xué)','歷史','物理','化學(xué)'}{'生物','物理','化學(xué)'}{'政治','地理','生物','歷史','物理','化學(xué)'}FalseFalse除上述方法外,還可以使用isdisjoint()方法,判斷兩個集合是否包含相同的元素,如果沒有返回True,否則返回False?!纠?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論