Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第2章Python序列操作_第1頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第2章Python序列操作_第2頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第2章Python序列操作_第3頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第2章Python序列操作_第4頁(yè)
Python編程基礎(chǔ)與應(yīng)用 第2版 課件 第2章Python序列操作_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1Python序列操作2.1序列及通用操作序列概述序列(Sequence)是Python中的重要數(shù)據(jù)結(jié)構(gòu),是通過(guò)某種方式組織在一起的數(shù)據(jù)元素的集合,例如對(duì)元素進(jìn)行編號(hào),這些數(shù)據(jù)元素可以是數(shù)字或者字符,也可以是其他數(shù)據(jù)結(jié)構(gòu)。本章所介紹的序列主要包括列表(list)、元組(tuple)、字符串(string)、字典(dict)和集合(set)五種,范圍(range)在第3章中進(jìn)行介紹。22.1序列及通用操作序列的通用操作32.1序列及通用操作序列的通用操作42.1序列及通用操作序列的通用操作52.1序列及通用操作序列的通用操作62.1序列及通用操作序列切片序列實(shí)現(xiàn)切片操作的語(yǔ)法格式如下:

sname[start:end:step]其中,各個(gè)參數(shù)的含義分別是:

(1)sname:表示序列的名稱(chēng);(2)start:表示切片的開(kāi)始索引位置(包括該位置),此參數(shù)也可以不指定,會(huì)默認(rèn)為0,也就是從序列的開(kāi)頭進(jìn)行切片;(3)end:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認(rèn)為序列的長(zhǎng)度;(4)step:表示在切片過(guò)程中,隔幾個(gè)存儲(chǔ)位置(包含當(dāng)前位置)取一次元素,也就是說(shuō),如果step的值大于1,則在進(jìn)行切片去序列元素時(shí),會(huì)“跳躍式”的取元素。如果省略設(shè)置step的值,則最后一個(gè)冒號(hào)就可以省略。72.1序列及通用操作序列切片82.1序列及通用操作序列相加92.1序列及通用操作序列相乘102.1序列及通用操作檢查元素是否包含或不包含在序列中112.1序列及通用操作檢查元素是否包含或不包含在序列中122.1序列及通用操作和序列相關(guān)的內(nèi)置函數(shù)132.1序列及通用操作142.2列表及操作列表及其創(chuàng)建從形式上看,列表將所有元素都放在一對(duì)中括號(hào)“[]”里面,相鄰元素之間用逗號(hào)“,”分隔,如下所示:[element1,element2,element3,...,elementn]

格式中,element1~elementn表示列表中的元素,個(gè)數(shù)沒(méi)有限制,只要是Python支持的數(shù)據(jù)類(lèi)型就可以。152.2列表及操作列表及其創(chuàng)建從形式上看,列表將所有元素都放在一對(duì)中括號(hào)“[]”里面,相鄰元素之間用逗號(hào)“,”分隔,如下所示:[element1,element2,element3,...,elementn]

格式中,element1~elementn表示列表中的元素,個(gè)數(shù)沒(méi)有限制,只要是Python支持的數(shù)據(jù)類(lèi)型就可以。162.2列表及操作列表及其創(chuàng)建從內(nèi)容上看,列表可以存儲(chǔ)整數(shù)、小數(shù)、字符串、列表、元組等任何類(lèi)型的數(shù)據(jù),并且同一個(gè)列表中元素的類(lèi)型也可以不同,比如["Python中文編程",1,[2,3,4],3.0]可以看到,列表中同時(shí)包含字符串、整數(shù)、列表、浮點(diǎn)數(shù)這些數(shù)據(jù)類(lèi)型。172.2列表及操作列表創(chuàng)建的2種方法(1)使用“[]”直接創(chuàng)建列表使用“[]”創(chuàng)建列表后,一般使用“=”將它賦值給某個(gè)變量,具體格式如下:listname=[element1,element2,element3,...,elementn]其中,listname表示變量名,element1~elementn表示列表元素。(2)使用list()函數(shù)創(chuàng)建列表除了使用“[]”創(chuàng)建列表外,Python還提供了一個(gè)內(nèi)置的函數(shù)list(),使用它可以將其它數(shù)據(jù)類(lèi)型轉(zhuǎn)換為列表類(lèi)型。182.2列表及操作192.2列表及操作202.2列表及操作列表通用操作212.2列表及操作刪除列表對(duì)于已經(jīng)創(chuàng)建的列表,如果不再使用,可以使用del關(guān)鍵字將其刪除。del關(guān)鍵字的語(yǔ)法格式為:

dellistname其中,listname表示要?jiǎng)h除列表的名稱(chēng)。222.2列表及操作刪除列表232.2列表及操作append()方法添加元素append()方法用于在列表的末尾追加元素,該方法的語(yǔ)法格式如下:

listname.append(obj)其中,listname表示要添加元素的列表;obj表示到添加到列表末尾的數(shù)據(jù),它可以是單個(gè)元素,也可以是列表、元組等。242.2列表及操作append()方法添加元素252.2列表及操作extend()方法添加元素extend()和append()的不同之處在于:extend()不會(huì)把列表或者元祖視為一個(gè)整體,而是把它們包含的元素逐個(gè)添加到列表中。extend()方法的語(yǔ)法格式如下:

listname.extend(obj)其中,listname指的是要添加元素的列表;obj表示到添加到列表末尾的數(shù)據(jù),它可以是單個(gè)元素,也可以是列表、元組等。262.2列表及操作extend()方法添加元素272.2列表及操作insert()方法插入元素append()和extend()方法只能在列表末尾插入元素,如果希望在列表中間某個(gè)位置插入元素,那么可以使用insert()方法。insert()的語(yǔ)法格式如下:listname.insert(index,obj)其中,index表示指定位置的索引值。insert()會(huì)將obj插入到listname列表第index個(gè)元素的位置。282.2列表及操作del刪除元素del可以刪除列表中的單個(gè)元素,格式為:

dellistname[index]其中,listname表示列表名稱(chēng),index表示元素的索引值。del也可以刪除中間一段連續(xù)的元素,格式為:

dellistname[start:end]其中,start表示起始索引,end表示結(jié)束索引。del會(huì)刪除從索引start到end之間的元素,不包括end位置的元素。292.2列表及操作del刪除元素302.2列表及操作pop()刪除元素用pop()方法用來(lái)刪除列表中指定索引處的元素,具體格式如下:

listname.pop(index)其中,listname表示列表名稱(chēng),index表示索引值。如果不寫(xiě)index參數(shù),默認(rèn)會(huì)刪除列表中的最后一個(gè)元素,類(lèi)似于數(shù)據(jù)結(jié)構(gòu)中的“出棧”操作。312.2列表及操作322.2列表及操作remove()刪除332.2列表及操作clear()刪除列表所有元素342.2列表及操作列表修改元素(1)修改單個(gè)元素修改單個(gè)元素非常簡(jiǎn)單,直接對(duì)元素賦值即可。(2)修改一組元素Python支持通過(guò)切片語(yǔ)法給一組元素賦值。在進(jìn)行這種操作時(shí),如果不指定步長(zhǎng)(step參數(shù)),Python就不要求新賦值的元素個(gè)數(shù)與原來(lái)的元素個(gè)數(shù)相同;這意味,該操作既可以為列表添加元素,也可以為列表刪除元素。352.2列表及操作列表修改元素362.2列表及操作列表修改元素372.2列表及操作列表修改元素382.2列表及操作count()方法count()方法用來(lái)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù),基本語(yǔ)法格式為:

listname.count(obj)其中,listname代表列表名,obj表示要統(tǒng)計(jì)的元素。如果count()返回0,就表示列表中不存在該元素,所以count()也可以用來(lái)判斷列表中的某個(gè)元素是否存在。392.2列表及操作count()方法402.2列表及操作index()方法index()的語(yǔ)法格式為:

listname.index(obj,start,end)其中,listname表示列表名稱(chēng),obj表示要查找的元素,start表示起始位置,end表示結(jié)束位置。start和end參數(shù)用來(lái)指定檢索范圍:

start和end可以都不寫(xiě),此時(shí)會(huì)檢索整個(gè)列表;

如果只寫(xiě)start不寫(xiě)end,那么表示檢索從start到末尾的元素;如果start和end都寫(xiě),那么表示檢索start和end之間的元素。412.2列表及操作index()方法422.3元組及操作元組及其創(chuàng)建從形式上看,元組的所有元素都放在一對(duì)小括號(hào)“()”中,相鄰元素之間用逗號(hào)“,”分隔,如下所示:(element1,element2,...,elementn)其中element1~elementn表示元組中的各個(gè)元素,個(gè)數(shù)沒(méi)有限制,只要是Python支持的數(shù)據(jù)類(lèi)型就可以。從存儲(chǔ)內(nèi)容上看,元組可以存儲(chǔ)整數(shù)、實(shí)數(shù)、字符串、列表、元組等任何類(lèi)型的數(shù)據(jù),并且在同一個(gè)元組中,元素的類(lèi)型可以不同。432.3元組及操作元組創(chuàng)建的2種方法(1)使用“()”直接創(chuàng)建通過(guò)“()”創(chuàng)建元組后,一般使用“=”將它賦值給某個(gè)變量,具體格式為:tuplename=(element1,element2,...,elementn)其中,tuplename表示變量名,element1~elementn表示元組的元素。442.3元組及操作元組及其創(chuàng)建452.3元組及操作元組創(chuàng)建的2種方法(2)使用tuple()函數(shù)創(chuàng)建元組tuple()的語(yǔ)法格式如下:tuple(data)其中,data表示可以轉(zhuǎn)化為元組的數(shù)據(jù),包括字符串、元組、range對(duì)象等。462.3元組及操作元組及其創(chuàng)建472.3元組及操作元組通用操作482.3元組及操作訪(fǎng)問(wèn)元組元素使用索引訪(fǎng)問(wèn)元組元素的格式為:

tuplename[i]其中,tuplename表示元組名字,i表示索引值。元組的索引可以是正數(shù),也可以是負(fù)數(shù)。使用切片訪(fǎng)問(wèn)元組元素的格式為:

tuplename[start:end:step]其中,start表示起始索引,end表示結(jié)束索引,step表示步長(zhǎng)。492.3元組及操作訪(fǎng)問(wèn)元組元素502.3元組及操作修改元組512.3元組及操作修改元組522.3元組及操作刪除元組532.3元組及操作其他操作與方法542.3元組及操作“可變的”tuple元組552.3元組及操作“可變的”tuple元組562.4字符串及操作字符串的語(yǔ)法格式為:

strname[index]

式中,strname表示字符串名字,index表示索引值。Python允許從字符串的兩端使用索引,符合序列的特點(diǎn):(1)當(dāng)以字符串的左端(字符串的開(kāi)頭)為起點(diǎn)時(shí),索引是從0開(kāi)始計(jì)數(shù)的;字符串的第一個(gè)字符的索引為0,第二個(gè)字符的索引為1,第三個(gè)字符串的索引為2……(2)當(dāng)以字符串的右端(字符串的末尾)為起點(diǎn)時(shí),索引是從-1開(kāi)始計(jì)數(shù)的;字符串的倒數(shù)第一個(gè)字符的索引為-1,倒數(shù)第二個(gè)字符的索引為-2,倒數(shù)第三個(gè)字符的索引為-3……572.4字符串及操作獲取多個(gè)字符格式為:

strname[start:end:step]

式中,strname是要截取的字符串;start表示要截取的第一個(gè)字符所在的索引(截取時(shí)包含該字符),如果不指定,默認(rèn)為0,也就是從字符串的開(kāi)頭截?。籩nd表示要截取的最后一個(gè)字符所在的索引(截取時(shí)不包含該字符),如果不指定,默認(rèn)為字符串的長(zhǎng)度;step指的是從start索引處的字符開(kāi)始,每step個(gè)距離獲取一個(gè)字符,直至end索引出的字符,step默認(rèn)值為1,當(dāng)省略該值時(shí),最后一個(gè)冒號(hào)也可以省略。582.4字符串及操作獲取多個(gè)字符592.4字符串及操作獲取字符串長(zhǎng)度或字節(jié)數(shù)

字符串的長(zhǎng)度一般用len函數(shù),其基本語(yǔ)法格式為:

len(string)

式中,string用于指定要進(jìn)行長(zhǎng)度統(tǒng)計(jì)的字符串。

字符串長(zhǎng)度不等于字節(jié)數(shù),后者需要使用encode()方法將字符串進(jìn)行編碼后再獲取它的字節(jié)數(shù)。602.4字符串及操作獲取多個(gè)字符612.4字符串及操作分割字符串split()方法可以實(shí)現(xiàn)將一個(gè)字符串按照指定的分隔符切分成多個(gè)子串,這些子串會(huì)被保存到列表中(不包含分隔符),作為方法的返回值反饋回來(lái)。該方法的基本語(yǔ)法格式如下:str.split(sep,maxsplit)

式中,str表示要進(jìn)行分割的字符串;sep用于指定分隔符,可以包含多個(gè)字符,此參數(shù)默認(rèn)為None,表示所有空字符,包括空格、換行符“\n”、制表符“\t”等;maxsplit是可選參數(shù),用于指定分割的次數(shù),最后列表中子串的個(gè)數(shù)最多為maxsplit+1,如果不指定或者指定為-1,則表示分割次數(shù)沒(méi)有限制。622.4字符串及操作分割字符串632.4字符串及操作合并字符串join()方法的語(yǔ)法格式如下:newstr=str.join(iterable)

式中,newstr表示合并后生成的新字符串;str用于指定合并時(shí)的分隔符;iterable做合并操作的源字符串?dāng)?shù)據(jù),允許以列表、元組等形式提供。642.4字符串及操作合并字符串652.4字符串及操作統(tǒng)計(jì)字符或字符串出現(xiàn)的次數(shù)count方法的語(yǔ)法格式如下:

str.count(sub[,start[,end]])

式中,str表示原字符串;sub表示要檢索的字符串;start指定檢索的起始位置,也就是從什么位置開(kāi)始檢測(cè),如果不指定,默認(rèn)從頭開(kāi)始檢索;end指定檢索的終止位置,如果不指定,則表示一直檢索到結(jié)尾。662.4字符串及操作統(tǒng)計(jì)字符或字符串出現(xiàn)的次數(shù)672.4字符串及操作檢測(cè)字符串中是否包含某子串(2種方法)find()方法的語(yǔ)法格式如下:

str.find(sub[,start[,end]])

式中,str表示原字符串;sub表示要檢索的目標(biāo)字符串;start表示開(kāi)始檢索的起始位置。如果不指定,則默認(rèn)從頭開(kāi)始檢索;end表示結(jié)束檢索的結(jié)束位置。如果不指定,則默認(rèn)一直檢索到結(jié)尾。index()方法的語(yǔ)法格式如下:

str.index(sub[,start[,end]])

式中,str表示原字符串;sub表示要檢索的子字符串;start表示檢索開(kāi)始的起始位置,如果不指定,默認(rèn)從頭開(kāi)始檢索;end表示檢索的結(jié)束位置,如果不指定,默認(rèn)一直檢索到結(jié)尾。682.4字符串及操作檢測(cè)字符串中是否包含某子串692.4字符串及操作檢測(cè)字符串中是否包含某子串702.4字符串及操作字符串對(duì)齊ljust()方法的功能是向指定字符串的右側(cè)填充指定字符,從而達(dá)到左對(duì)齊文本的目的,基本格式如下:S.ljust(width[,fillchar])

式中,S表示要進(jìn)行填充的字符串;width表示包括S本身長(zhǎng)度在內(nèi),字符串要占的總長(zhǎng)度;fillchar作為可選參數(shù),用來(lái)指定填充字符串時(shí)所用的字符,默認(rèn)情況使用空格。rjust()和ljust()方法類(lèi)似,唯一的不同在于,rjust()方法是向字符串的左側(cè)填充指定字符,從而達(dá)到右對(duì)齊文本的目的,其基本格式如下:S.rjust(width[,fillchar])center()字符串方法與ljust()和rjust()的用法類(lèi)似,但它讓文本居中,而不是左對(duì)齊或右對(duì)齊,其基本格式如下:

S.center(width[,fillchar])712.4字符串及操作字符串對(duì)齊722.4字符串及操作字符串的其他方法title()方法用于將字符串中每個(gè)單詞的首字母轉(zhuǎn)為大寫(xiě),其他字母全部轉(zhuǎn)為小寫(xiě),轉(zhuǎn)換完成后,此方法會(huì)返回轉(zhuǎn)換得到的字符串。

lower()方法用于將字符串中的所有大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母,轉(zhuǎn)換完成后,該方法會(huì)返回新得到的字符串。如果字符串中原本就都是小寫(xiě)字母,則該方法會(huì)返回原字符串。upper()的功能和lower()方法恰好相反,它用于將字符串中的所有小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,和以上兩種方法的返回方式相同,即如果轉(zhuǎn)換成功,則返回新字符串;反之,則返回原字符串。strip():刪除字符串前后(左右兩側(cè))的空格或特殊字符。lstrip():刪除字符串前面(左邊)的空格或特殊字符。rstrip():刪除字符串后面(右邊)的空格或特殊字符。732.5字典字典及其創(chuàng)建742.5字典字典及其創(chuàng)建752.5字典字典創(chuàng)建三種方式1.使用“{}”創(chuàng)建字典

由于字典中每個(gè)元素都包含兩部分,分別是鍵(key)和值(value),因此在創(chuàng)建字典時(shí),鍵和值之間使用冒號(hào):分隔,相鄰元素之間使用逗號(hào),分隔,所有元素放在大括號(hào){}中。

使用{}創(chuàng)建字典的語(yǔ)法格式如下:

dictname={'key':'value1','key2':'value2',...,'keyn':valuen}762.5字典字典及其創(chuàng)建772.5字典字典創(chuàng)建三種方式2.通過(guò)fromkeys()方法創(chuàng)建字典 Python中,還可以使用dict字典類(lèi)型提供的fromkeys()方法創(chuàng)建帶有默認(rèn)值的字典,具體格式為:

dictname=dict.fromkeys(list,value=None)

其中,list參數(shù)表示字典中所有鍵的列表(list);value參數(shù)表示默認(rèn)值,如果不寫(xiě),則為空值None??梢钥吹?,knowledge列表中的元素全部作為了scores字典的鍵,而各個(gè)鍵對(duì)應(yīng)的值都是60。這種創(chuàng)建方式通常用于初始化字典,設(shè)置value的默認(rèn)值。782.5字典字典及其創(chuàng)建792.5字典字典創(chuàng)建三種方式3.通過(guò)dict()映射函數(shù)創(chuàng)建字典

通過(guò)dict()函數(shù)創(chuàng)建字典時(shí),可以向dict()函數(shù)傳入列表或元組,而它們中的元素又各自是包含2個(gè)元素的列表或元組,其中第一個(gè)元素作為鍵,第二個(gè)元素作為值。802.5字典字典及其創(chuàng)建812.5字典訪(fǎng)問(wèn)字典822.5字典訪(fǎng)問(wèn)字典 get()方法的語(yǔ)法格式為:

dictname.get(key[,default])

其中,dictname表示字典變量的名字;key表示指定的鍵;default用于指定要查詢(xún)的鍵不存在時(shí),此方法返回的默認(rèn)值,如果不手動(dòng)指定,會(huì)返回None。832.5字典訪(fǎng)問(wèn)字典842.5字典刪除字典852.5字典添加鍵值對(duì)為字典添加新的鍵值對(duì)很簡(jiǎn)單,直接給不存在的key賦值即可,具體語(yǔ)法格式如下:

dictname[key]=value

其中,dictname表示字典名稱(chēng),key表示新的鍵,value表示新的值,只要是Python支持的數(shù)據(jù)類(lèi)型都可以。862.5字典添加鍵值對(duì)872.5字典修改鍵值對(duì)882.5字典刪除鍵值對(duì)892.5字典判斷字典中是否存在指定鍵值對(duì)902.5字典keys()、values()和items()方法 keys()方法用于返回字典中的所有鍵(key); values()方法用于返回字典中所有鍵對(duì)應(yīng)的值(value); items()用于返回字典中所有的鍵值對(duì)(key-value)。912.5字典copy()方法922.5字典update()方法932.5字典pop()和popitem()方法942.5字典setdefault()方法setdefault()方法用來(lái)返回某個(gè)key對(duì)應(yīng)的value,其語(yǔ)法格式如下:

dictname.setdefault(key,defaultvalue)

說(shuō)明,dictname表示字典名稱(chēng),key表示鍵,defaultvalue表示默認(rèn)值(可以不寫(xiě),不寫(xiě)的話(huà)是None)。

當(dāng)指定的key不存在時(shí),setdefault()會(huì)先為這個(gè)不存在的key設(shè)置一個(gè)默認(rèn)的defaultvalue,然后再返回defaultvalue。也就是說(shuō),setdefault()方法總能返回指定key對(duì)應(yīng)的value:

(1)如果該key存在,那么直接返回該key對(duì)應(yīng)的value;

(2)如果該key不存在,那么先為該key設(shè)置默認(rèn)的defaultvalue,然后再返回該key對(duì)應(yīng)的defaultvalue。952.5字典修改鍵值對(duì)962.6集合集合及其創(chuàng)建從形式上看,和字典

溫馨提示

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

評(píng)論

0/150

提交評(píng)論