專題六 元組、集合(課件)-《Python程序設(shè)計(jì)》職教高考備考講練測_第1頁
專題六 元組、集合(課件)-《Python程序設(shè)計(jì)》職教高考備考講練測_第2頁
專題六 元組、集合(課件)-《Python程序設(shè)計(jì)》職教高考備考講練測_第3頁
專題六 元組、集合(課件)-《Python程序設(shè)計(jì)》職教高考備考講練測_第4頁
專題六 元組、集合(課件)-《Python程序設(shè)計(jì)》職教高考備考講練測_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

專題六

元組、集合Python程序設(shè)計(jì)考綱要求一1.了解元組的特性2.掌握元組的索引和切片操作3.了解元組函數(shù)4.掌握集合的創(chuàng)建5.了解集合的特性6.掌握集合的運(yùn)算7.掌握集合的函數(shù)知識點(diǎn)梳理-元組的定義二定義:元組的元素用逗號隔開,放在圓括號內(nèi)。元組是不可變對象,元組一經(jīng)創(chuàng)建其元素便不能被修改。如:(1,2,3)注意:當(dāng)元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號,否則就是整型的數(shù)據(jù)類型。>>>a=(1,2,3,4)>>>type(a)<class'tuple'>>>>b=(1)>>>type(b)<class'int'>>>>c=(1,)元組和列表的比較:1.元組是不可變的數(shù)據(jù)類型而列表是可變的數(shù)據(jù)類型2.都支持索引和切片的操作3.元組的元素不可修改、刪除知識點(diǎn)梳理-創(chuàng)建元組二方法1tup1=()方法2tup2=tuple()其中的tuple()函數(shù)就是元組的專用函數(shù)??梢酝ㄟ^調(diào)用tuple()函數(shù)來創(chuàng)建元組通過調(diào)用tuple()函數(shù)還可以將字符串和列表、集合、字典轉(zhuǎn)為元組。str1="hello"print(tuple(str1))#(‘h’,’e’,’l’,’l’,’o’)lst=[1,2,3,4]print(tuple(lst))#(1,2,3,4)知識點(diǎn)梳理-元組封裝與序列拆封二1.元組封裝元組封裝是指以逗號分隔的多個(gè)值自動封裝到一個(gè)元組中,例如:>>>a=1,2,3>>>a(1,2,3)>>>a=1,>>>a(1,)2.序列拆封序列拆封是元組封裝的逆運(yùn)算,可以用來將一個(gè)封裝起來的元組對象自動拆分成若干個(gè)基本數(shù)據(jù)。例如:>>>x,y,z=(1,2,3)>>>x1>>>y2>>>z3封裝操作只能用于元組對象,而拆分操作不僅可以用于元組對象,還可以用于其他序列對象。知識點(diǎn)梳理-元組連接和重復(fù)二1.元組連接

語法結(jié)構(gòu):元組1+元組2+…

示例:>>>tup1=(1,2,3)>>>tup2=(4,5,6)>>>tup1+tup2(1,2,3,4,5,6)2.元組重復(fù)

語法結(jié)構(gòu):元組*正整數(shù)/正整數(shù)*元組

示例:>>>tup1=(1,2,3)>>>tup1*2(1,2,3,1,2,3)>>>2*tup1(1,2,3,1,2,3)常考類題:tup1=(1,2)tup2=(3,4,5)print(len(tup1*2+tup2*3))#13知識點(diǎn)梳理-索引取值和切片賦值、元組比較二元組是有序序列,因此索引取值和切片賦值的方法和列表的操作一模一樣。元組比較,也是和列表的比較一樣的使用成員運(yùn)算符in來判斷某個(gè)值是否存在于元組中總結(jié):元組和列表的相似度很高,唯一不同的是元組不可變,列表是可變的數(shù)據(jù)類型。元組是不可變對象,是不允許修改元組中的元素值,如果試圖通過賦值語句修改元組中的元素,將會出現(xiàn)TypeError的錯(cuò)誤,同樣,是不允許刪除元組中的元素的。但是可以使用del語句來刪除整個(gè)元組。>>>tup1=(1,2,3)>>>tup1[1]=20Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'tuple'objectdoesnotsupportitemassignmentTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'tup1'isnotdefined知識點(diǎn)梳理-元組函數(shù)二在Python中,元組(tuple)與列表類似,它們同屬于有序的序列類型。不同的是元組是不可變對象,元組一經(jīng)創(chuàng)建,其元素便不能被修改。tup.count(x)使用該方法可以返回元素x在元組中出現(xiàn)的次數(shù)。例如:>>>tup1=(1,2,3,4,5,6,1,2)>>>tup1.count(1)2>>>tup1.count(7)0tup.index(x[,start,end])使用該方法返回元素x在元組中第一次出現(xiàn)的索引值,如果元素x未包含在元組中,則會出現(xiàn)ValueError的錯(cuò)誤。例如:>>>tup1=(1,2,3,4,5,6,1,2)>>>tup1.index(1)0>>>tup1.index(7)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>ValueError:tuple.index(x):xnotintuple知識點(diǎn)梳理-集合的定義和創(chuàng)建二集合是一些不重復(fù)的無序組合,集合分為可變集合和不可變集合。集合不記錄元素的位置,因?yàn)閷喜荒苓M(jìn)行索引和切片等操作。注:我們現(xiàn)在學(xué)習(xí)的是可變集合集合的特點(diǎn):確定性、互異性、無序性創(chuàng)建空集合,使用集合的內(nèi)置函數(shù)set()來創(chuàng)建set1=set()print(type(set1))#<class'set'>為什么不能使用{}來創(chuàng)建,我們來看看代碼:set2={}print(type(set2))#<class'dict'>從上面能看出這是字典的數(shù)據(jù)類型,并不是集合。上面的方法是創(chuàng)建空的字典知識點(diǎn)梳理-集合的創(chuàng)建二使用set()函數(shù)將其他類型的數(shù)據(jù)轉(zhuǎn)為集合。但是注意,其他類型的數(shù)據(jù)轉(zhuǎn)為集合需要去重。來看看下面的示例:>>>st="hello">>>set(st){'o','e','l','h'}>>>tup=(1,2,3,1,2)>>>set(tup){1,2,3}>>>st="">>>set(st)set()對列表的元素去重>>>lst=[1,2,3,4,5,2,3,5]>>>nlst=list(set(lst))>>>nlst[1,2,3,4,5]對字符串的字符去重>>>st="hello">>>"".join(set(st))'oelh'知識點(diǎn)梳理-集合的特征二集合中的元素可以是不同的數(shù)據(jù)類型,但是不能是可變的數(shù)據(jù)類型(列表,字典)因?yàn)榧系娜筇卣鳎ù_定性、互異性、無序性)中的確定性決定的。確定性:指的是集合中的元素是不可變的數(shù)據(jù)類型,且不可變的數(shù)據(jù)內(nèi)部也不能包含可變的數(shù)據(jù)類型。>>>set1={(1,2),"hello",1,3,88}>>>set1{(1,2),1,3,'hello',88}>>>set1={(1,[2,3]),"hello",1,3,88}Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:unhashabletype:'list'知識點(diǎn)梳理-集合的特征二互異性:指的是集合中的元素不能重復(fù),即便在創(chuàng)建集合的時(shí)候里面有重復(fù)的元素,集合會自動刪除重復(fù)的元素。因此集合可以用來剔除序列中重復(fù)的元素。但是可能會打亂序列中以前的數(shù)據(jù)順序。>>>set1={1,2,3,4,5,1,2}>>>set1{1,2,3,4,5}無序性:指的是集合中的元素不記錄元素的位置,因此不能使用索引和切片>>>set1[1]Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'set'objectdoesnotsupportindexing>>>lst=[1,2,3,4,5,6,1,2,7]>>>nlst=list(set(lst))>>>nlst[1,2,3,4,5,6,7]知識點(diǎn)梳理-集合操作二1.set1.add(x)該函數(shù)用于在集合set1中添加元素x,如:>>>set1={'a','b','c'}>>>set1.add('d')>>>set1{'a','c','d','b’}2.set1.remove(x)該函數(shù)用于從集合set1中刪除元素x,若x不存在于集合set1中,則會出現(xiàn)KeyError的錯(cuò)誤。例如:>>>set1={1,2,3,4,5}>>>set1.remove(2)>>>set1{1,3,4,5}3.set1.clear()該函數(shù)用于刪除集合set1中的所有元素。例如:>>>set1={1,2,3,4}>>>set1.clear()>>>set1set()>>>set1.remove(6)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>KeyError:6知識點(diǎn)梳理-集合的運(yùn)算二交集兩個(gè)集合共有的元素組成的集合,使用運(yùn)算符”&”計(jì)算兩個(gè)集合的交集>>>set1={1,2,3,4,5}>>>set2={3,4,5,6,7}>>>set1&set2{3,4,5}并集兩個(gè)集合所有元素的集合,使用運(yùn)算符”|”計(jì)算兩個(gè)集合的并集>>>set1={1,2,3,4,5}>>>set2={3,4,5,6,7}>>>set1|set2{1,2,3,4,5,6,7}知識點(diǎn)梳理-集合的運(yùn)算二差集A-B表示屬于集合A但不屬于集合B的元素所組成的集合稱為集合A和集合B的差集B-A表示屬于集合B但不屬于集合A的元素所組成的集合稱為集合B和集合A的差集>>>set1={1,2,3,4,5}>>>set2={3,4,5,6,7}>>>set1-set2{1,2}>>>set2-set1{6,7}對稱差集對于集合A和B,由所有屬于集合A但不屬于集合B,屬于集合B但不屬于集合A的元素所組成的集合稱為集合A和集合B的對稱差集,可以使用運(yùn)算符”^”計(jì)算兩個(gè)集合的對稱差集>>>set1={1,2,3,4,5}>>>set2={3,4,5,6,7}>>>set1^set2{1,2,6,7}限時(shí)練習(xí)三1.關(guān)于元組和列表的區(qū)別,下面說法正確的是()。

A.元組支持元素修改,列表不支持

B.元組用方括號定義,列表用圓括號定義

C.元組不可變,列表可變

D.元組只能包含數(shù)字類型元素

【答案】C

【解析】元組是不可變對象,列表是可變對象,這是兩者的核心區(qū)別。A、B、D均錯(cuò)誤。限時(shí)練習(xí)三2.執(zhí)行代碼tup=(1,2,3);tup[1]=20的運(yùn)行結(jié)果為()。A.輸出(1,20,3)B.報(bào)錯(cuò)TypeErrorC.無任何變化D.報(bào)錯(cuò)SyntaxError【答案】B【解析】元組不可修改元素,嘗試賦值會觸發(fā)TypeError。限時(shí)練習(xí)三3.下面哪種方式可以正確創(chuàng)建一個(gè)空集合()。A.set1={}B.set2=set()C.set3={""}D.set4=()【答案】B【解析】

{}創(chuàng)建的是空字典,set()用于創(chuàng)建空集合。C是包含空字符串的集合,D是元組。限時(shí)練習(xí)三4.集合set1={1,2,3}和set2={3,4,5}進(jìn)行set1^set2運(yùn)算的結(jié)果是()。A.{1,2,4,5}B.{3}C.{1,2,3,4,5}D.{1,2}【答案】A【解析】

^表示對稱差集,即僅存在于其中一個(gè)集合的元素,結(jié)果為{1,2,4,5}。限時(shí)練習(xí)三5.執(zhí)行代碼print((1,2)>(1,2,0))的輸出結(jié)果是()。A.TrueB.FalseC.報(bào)錯(cuò)D.None【答案】B【

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論