python課件第4章 Python的四種典型序列結(jié)構(gòu)_第1頁(yè)
python課件第4章 Python的四種典型序列結(jié)構(gòu)_第2頁(yè)
python課件第4章 Python的四種典型序列結(jié)構(gòu)_第3頁(yè)
python課件第4章 Python的四種典型序列結(jié)構(gòu)_第4頁(yè)
python課件第4章 Python的四種典型序列結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(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)介

序列、列表元組、字典集合容器中的公共操作推到式與生成器推導(dǎo)式第4章Python的四種典型序列結(jié)構(gòu)參考書(shū)目《Python程序設(shè)計(jì)》目錄序列列表元組字典集合容器中的公共操作推到式與生成器推導(dǎo)式這里說(shuō)明圖片內(nèi)容序列序列概述:序列是一塊用于存放多個(gè)值的連續(xù)內(nèi)存空間,并且按一定順序排列,每一個(gè)值(稱(chēng)為元素)都分配一個(gè)數(shù)字,稱(chēng)為索引或位置。通過(guò)該索引可以取出相應(yīng)的值。例如,我們可以把一家酒店看作一個(gè)序列,那么酒店里的每個(gè)房間都可以看作是這個(gè)序列的元素。而房間號(hào)就相當(dāng)于索引,可以通過(guò)房間號(hào)找到對(duì)應(yīng)的房間。序列1索引Python的索引可以是負(fù)數(shù):元素1元素2元素3元素4元素…元素n0123…n-1索引:列中的每一個(gè)元素都有一個(gè)編號(hào),也稱(chēng)為索引。這個(gè)索引是從0開(kāi)始遞增的,即下標(biāo)為0表示第一個(gè)元素,下標(biāo)為1表示第2個(gè)元素,依此類(lèi)推:元素1元素2元素3元素4元素…元素n-1-n-(n-1)-(n-2)-(n-3)…-2序列切片:切片是指對(duì)操作的對(duì)象截取其中一部分的操作,即從容器中取出相應(yīng)的元素重新組成一個(gè)容器。語(yǔ)法格式如下:2切片sname:表示序列的名稱(chēng)。start:表示切片的開(kāi)始位置(包括該位置),如果不指定則默認(rèn)為0。end:表示切片的截止位置(不包括該位置),如果不指定則默認(rèn)為序列的長(zhǎng)度。step:表示切片的步長(zhǎng),如果省略,則默認(rèn)為1,當(dāng)省略該步長(zhǎng)時(shí),最后一個(gè)冒號(hào)也可sname[start:end:step]序列

切片選取的區(qū)間屬于左閉右開(kāi)型,即從“起始”位開(kāi)始,到“結(jié)束”位的前一位結(jié)束(不包括結(jié)束位本身)。根據(jù)步長(zhǎng)的取值,可以分為如下兩種情況:2切片(1)步長(zhǎng)大于0:按照從左到右的順序,每隔“步長(zhǎng)-1”(索引間的差值仍為步長(zhǎng)值)個(gè)字符進(jìn)行一次截取。(2)步長(zhǎng)小于0:按照從右到左的順序,每隔“步長(zhǎng)-1”(索引間的差值仍為步長(zhǎng)值)個(gè)字符進(jìn)行一次截取。序列序列相加:在Python中,支持兩種相同類(lèi)型的序列相加操作。即將兩個(gè)序列進(jìn)行連接,使用加(+)運(yùn)算符實(shí)現(xiàn)。3序列相加c1=["fudan","sjtu","nju","zju","ustc"]c2=["pku","tsinghua","fudan","xjtu"]print(c1+c2)運(yùn)行結(jié)果:['fudan','sjtu','nju','zju','ustc','pku','tsinghua','fudan','xjtu']從上面的輸出結(jié)果中,可以看出兩個(gè)列表被合為一個(gè)列表了?!纠繉⑷缦聝蓚€(gè)列表相加。序列序列乘法:在Python中,使用數(shù)字n乘以一個(gè)序列會(huì)生成新的序列。新序列的內(nèi)容為原來(lái)序列被重復(fù)n次的結(jié)果。4序列乘法love=["我是愛(ài)你的"]print(love*3)運(yùn)行結(jié)果:['我是愛(ài)你的','我是愛(ài)你的','我是愛(ài)你的']【例】將一個(gè)序列乘以3生成一個(gè)新的序列并輸出,達(dá)到“重要事情說(shuō)三遍”的效果。序列檢查某個(gè)元素是否是序列的成員:在Python中,可以使用in關(guān)鍵字檢查某個(gè)元素是否包含在該序列中。語(yǔ)法格式如下:5.檢查某個(gè)元素是否是序列的成員c=["pku","tsinghua","fudan","sjtu","nju","zju","ustc","hit","xjtu"]print("hit"inc)運(yùn)行結(jié)果:True【例】要檢查名稱(chēng)為c的序列中,是否包含元素“hit”。序列

計(jì)算序列的長(zhǎng)度、最大值和最小值:在Python中,提供了內(nèi)置函數(shù)計(jì)算序列的長(zhǎng)度、最大值和最小值。使用len()函數(shù)計(jì)算序列的長(zhǎng)度使用max()函數(shù)返回序列中的最大元素使用min()函數(shù)返回序列中的最小元素6計(jì)算序列的長(zhǎng)度、最大值和最小值year=[1898,1911,1905,1896,1902,1897,1958,1920,1896]print("在year序列的長(zhǎng)度:",len(year),",其中,最大值為:",max(year),"最小值為:",min(year))運(yùn)行結(jié)果:在year序列的長(zhǎng)度:9,其中,最大值為:1958最小值為:1896【例】定義一個(gè)包括9個(gè)元素的列表,并通過(guò)len()函數(shù)計(jì)算列表的長(zhǎng)度,最大元素、最小元素。序列除了上面介紹的3個(gè)內(nèi)置函數(shù),Python還提供了如表所示的內(nèi)置函數(shù)。6計(jì)算序列的長(zhǎng)度、最大值和最小值內(nèi)置函數(shù)功能list()將序列轉(zhuǎn)換為列表str()將序列轉(zhuǎn)換為字符串sum()計(jì)算元素和sorted()對(duì)元素進(jìn)行排序reversed()反向序列中的元素enumerate()將序列組合為一個(gè)索引序列,多用在for循環(huán)中zip()返回幾個(gè)列表壓縮成的新列表列表列表概述:Python中的列表是由一系列按特定順序排列的元素組成的。它是Python中內(nèi)置的可變序列。在形式上,列表的所有元素都放在一對(duì)中括號(hào)“[]”中,兩個(gè)相鄰元素間使用逗號(hào)“,”分隔。在內(nèi)容上,可以將整數(shù)、實(shí)數(shù)、字符串、列表、元組等任何類(lèi)型的內(nèi)容放入到列表中列表1列表的創(chuàng)建與刪除.列表的創(chuàng)建與刪除:創(chuàng)建列表時(shí),也可以使用賦值運(yùn)算符“=”直接將一個(gè)列表賦值給變量,具體的語(yǔ)法格式如下:listname=[元素1,元素2,元素3,…,元素n]創(chuàng)建數(shù)值列表:在Python中,數(shù)值列表很常用。例如,在考試系統(tǒng)中記錄學(xué)生的成績(jī),或者在游戲中記錄每個(gè)角色的位置,各個(gè)玩家的得分情況等都可應(yīng)用數(shù)值列表。創(chuàng)建空列表:例如,要?jiǎng)?chuàng)建一個(gè)名稱(chēng)為emptylist的空列表,可以使用的代碼:emptylist=[]刪除列表:對(duì)于已經(jīng)創(chuàng)建的列表,不再使用時(shí),可以使用del語(yǔ)句將其刪除。語(yǔ)法格式如下:dellistname03010402列表2列表元素的訪問(wèn)與遍歷1.采用下標(biāo)法訪問(wèn)列表元素:在Python中,如果想將列表的內(nèi)容輸出也比較簡(jiǎn)單,可以直接使用print()函數(shù)。2.遍歷列表:列表的循環(huán)遍歷是指依次打印列表中的各個(gè)數(shù)據(jù)。在Python中遍歷列表的方法有多種,下面介紹5種常用的方法。直接使用for循環(huán)實(shí)現(xiàn)Q1使用for循環(huán)和enumerate()函數(shù)實(shí)現(xiàn)Q2利用while語(yǔ)句輸出列表的各個(gè)元素Q3利用索引遍歷Q4利用索引遍歷Q5列表3列表元素的常用操作

添加元素的方法append()方法用于在列表末尾添加新的對(duì)象。語(yǔ)法格式:listname.append(obj)extend()方法用于在列表末尾一次性追加另一個(gè)序列中的多個(gè)值,如果數(shù)據(jù)是一個(gè)序列,則將這個(gè)序列的數(shù)據(jù)逐一添加到列表。extend()方法語(yǔ)法:list.extend(seq)insert()方法用于將指定對(duì)象插入列表的指定位置。insert()方法語(yǔ)法:list.insert(index,obj)列表3列表元素的常用操作

刪除元素pop()方法用于移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值。clear()方法用于清空列表,類(lèi)似于dela[:]。clear()方法語(yǔ)法:list.clear()根據(jù)索引刪除元素刪除列表中的指定元素和刪除列表類(lèi)似,也可以使用del語(yǔ)句實(shí)現(xiàn)。根據(jù)元素值刪除元素方法如果想要?jiǎng)h除一個(gè)不確定其位置的元素(即根據(jù)元素值刪除),可以使用列表對(duì)象的remove()方法實(shí)現(xiàn)。列表3列表元素的常用操作

修改元素方法修改指定下標(biāo)數(shù)據(jù)修改列表中的元素只需要通過(guò)索引獲取該元素,然后再為其重新賦值即可。reverse()方法用于反向列表中元素。reverse()方法語(yǔ)法:list.reverse()copy()方法用于復(fù)制列表,類(lèi)似于a[:]。列表3列表元素的常用操作

.查找元素方法len()方法len()方法功能是返回列表元素個(gè)數(shù)。用in判斷是否存在通??梢杂胕n判斷指定數(shù)據(jù)在某個(gè)列表序列,如果在返回True,否則返回False。index()方法用于從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置,即獲取指定元素首次出現(xiàn)的下標(biāo)。count()方法用于統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)。列表4列表元素的統(tǒng)計(jì)與排序列表元素的統(tǒng)計(jì):在Python中,提供了sum()函數(shù)用于統(tǒng)計(jì)數(shù)值列表中各元素的和。列表元素的排序:Python中提供了兩種常用的對(duì)列表進(jìn)行排序的法。使用列表對(duì)象的sort()方法實(shí)現(xiàn)、使用內(nèi)置的sorted()函數(shù)實(shí)現(xiàn)。列表5列表的嵌套嵌套列表就是列表中包含列表。嵌套列表可以模擬出現(xiàn)實(shí)中的表格、矩陣、2D游戲的地圖、棋盤(pán)等?!纠客ㄟ^(guò)對(duì)列表的嵌套應(yīng)用,實(shí)現(xiàn)3×4矩陣的轉(zhuǎn)置行和列。matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]transposed=[]foriinrange(4):midden=[]forrowinmatrix:midden.append(row[i])transposed.append(midden)print(transposed)運(yùn)行結(jié)果:[[1,5,9],[2,6,10],[3,7,11],[4,8,12]]元組元組概述:元組(tuple)是Python中另一種內(nèi)置的存儲(chǔ)有序數(shù)據(jù)的結(jié)構(gòu)。元組與列表類(lèi)似,也是由一系列按特定順序排列的元素組成,可存儲(chǔ)不同類(lèi)型的數(shù)據(jù),如字符串、數(shù)字甚至元組。然而,元組是不可改變的,創(chuàng)建后不能再做任何修改操作。元組1元組的創(chuàng)建與刪除1.使用賦值運(yùn)算符直接創(chuàng)建元組:tuplename=(元素1,元素2,元素3,...,元素n)tuplename表示元組的名稱(chēng),可以是任何符合Python命名規(guī)則的標(biāo)識(shí)符2.創(chuàng)建空元組:在Python中,也可以創(chuàng)建空元組,空元組可以應(yīng)用在為函數(shù)傳遞一個(gè)空值或者返回空值時(shí)3.創(chuàng)建數(shù)值元組:在Python中,可以使用tuple()函數(shù)直接將range()函數(shù)循環(huán)出來(lái)的結(jié)果轉(zhuǎn)換為數(shù)值元組。語(yǔ)法格式如下:tuple(data)4.刪除元組5.整體修改元組元素1元組的創(chuàng)建與刪除4.刪除元組:元組中的元素值是不允許刪除的,但我們可以使用del語(yǔ)句來(lái)刪除整個(gè)元組。對(duì)于已經(jīng)創(chuàng)建的元組,不再使用時(shí),可以使用del語(yǔ)句將其刪除。5.整體修改元組元素:元組是不可變序列,所以不能對(duì)它的單個(gè)元素值進(jìn)行修改。但是元組也不是完全不能修改,可以對(duì)元組進(jìn)行重新賦值。元組1元組的創(chuàng)建與刪除4.刪除元組:元組中的元素值是不允許刪除的,但我們可以使用del語(yǔ)句來(lái)刪除整個(gè)元組。對(duì)于已經(jīng)創(chuàng)建的元組,不再使用時(shí),可以使用del語(yǔ)句將其刪除。5.整體修改元組元素:元組是不可變序列,所以不能對(duì)它的單個(gè)元素值進(jìn)行修改。但是元組也不是完全不能修改,可以對(duì)元組進(jìn)行重新賦值。元組2元組的常見(jiàn)操作03040102len(tup):

返回元組中元素的個(gè)數(shù)。max(tup):返回元組中元素最大的值。min(tup):返回元組中元素最小的值。tuple(seq):將列表轉(zhuǎn)化為元組。元組數(shù)據(jù)不支持修改,只支持查找。接下來(lái),介紹元組的查找操作。對(duì)元組進(jìn)行查找操作的內(nèi)建函數(shù)包括以下四種元組的常見(jiàn)操作元組3元組與列表的區(qū)別與相互轉(zhuǎn)換元組1.元組與列表的區(qū)別(1)表屬于可變序列,它的元素可以隨時(shí)修改或者刪除:元組屬于不可變序列,其中的元素不可以修改,除非整體替換。(2)列表可以使用append()、extend()、insert()、remove()和pop()等方法實(shí)現(xiàn)添加和修改列表元素:而元組則沒(méi)有這幾個(gè)方法,因?yàn)椴荒芟蛟M中添加和修改元素,同樣也不能刪除元素。(3)列表可以使用切片訪問(wèn)和修改列表中的元素;元組也支持切片,但是它只支持通過(guò)切片訪問(wèn)元組中的元素,不支持修改。(4)元組比列表的訪問(wèn)和處理速度快。所以如果只需要對(duì)其中的元素進(jìn)行訪問(wèn),而不進(jìn)行任何修改,建議使用元組。(5)列表不能作為字典的鍵,則元組則可以。3元組與列表的區(qū)別與相互轉(zhuǎn)換元組元組與列表可以互相轉(zhuǎn)換:tuple()函數(shù)接收一個(gè)列表,可返回一個(gè)包含相同元素的元組list()函數(shù)接收一個(gè)元組并返回一個(gè)列表。從元組與列表的性質(zhì)來(lái)看,tuple()相當(dāng)于凍結(jié)一個(gè)列表,而list()相當(dāng)于解凍一個(gè)元組。字典元組概述:在許多應(yīng)用中需要利用關(guān)鍵詞查找對(duì)應(yīng)信息,例如,通過(guò)學(xué)號(hào)來(lái)檢索某學(xué)生的信息。其中,通過(guò)學(xué)號(hào)查找所對(duì)應(yīng)學(xué)生的信息的方式稱(chēng)為“映射”。Python語(yǔ)言的字典(dictionary)類(lèi)型就是一種映射。其他編程語(yǔ)言中也提供類(lèi)似的結(jié)構(gòu),例如,哈希(Hash)、關(guān)聯(lián)數(shù)組等。1字典的創(chuàng)建字典字典包含了一個(gè)索引的集合,稱(chēng)為鍵(key)和值(value)的集合。一個(gè)鍵對(duì)應(yīng)一個(gè)值。通過(guò)給定的“鍵-值對(duì)”創(chuàng)建字典語(yǔ)法如下:dictionary=dict(key1=value1,key2=value2,...,keyn=valuen).通過(guò)映像函數(shù)創(chuàng)建字典語(yǔ)法格式:dictionary=dict(zip(list1,list2))參數(shù)說(shuō)明如下:dictionary:表示字典名稱(chēng)。字典的創(chuàng)建2字典元素的訪問(wèn)與遍歷字典字典元素的遍歷字典是以“鍵-值對(duì)”的形式存儲(chǔ)數(shù)據(jù)的,所以就可能需要對(duì)這些“鍵-值對(duì)”進(jìn)行獲取。Python提供了遍歷字典的方法,通過(guò)遍歷可以獲取字典中的全部“鍵-值對(duì)”。字典元素的訪問(wèn)可直接使用print()函數(shù)輸出字典的內(nèi)容,如print(dictname)。但是,在使用字典時(shí),很少直接輸出它的內(nèi)容。一般需要根據(jù)指定的鍵得到相應(yīng)的結(jié)果。字典元素的訪問(wèn)與遍歷3字典元素的常見(jiàn)操作字典1.字典元素的增加由于字典是可變序列,所以可以隨時(shí)在其中增加“鍵-值對(duì)”,這和列表類(lèi)似。向字典中添加元素的語(yǔ)法格式如下:dictionary[key]=valuedictionary:表示字典名稱(chēng);key:表示要增加元素的鍵,必須是唯一的,并且不可變,例如可以是字符串、數(shù)字或者元組;value:表示元素的值,可以是任何數(shù)據(jù)類(lèi)型,不是必須唯一。3字典元素的訪問(wèn)與遍歷字典

字典元素的刪除del()/del:刪除字典或刪除字典中指定鍵值對(duì)clear():清空字典pop():獲取指定key對(duì)應(yīng)的value,并刪除這個(gè)key-value對(duì)4字典元素的查找字典如果當(dāng)前查找的key存在,則返回對(duì)應(yīng)的值;否則則報(bào)錯(cuò)。字典元素的查找,可以通過(guò)如下兩種方式查找:1)通過(guò)鍵值方式。前邊已經(jīng)講述。2)通過(guò)get()、keys()、values()以及items()函數(shù)方式查找。

兩個(gè)重要的點(diǎn)需要記?。?)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住。2)字典的鍵值必須不可變,可以用數(shù),字符串或元組充當(dāng)。由于用列表的值是變化的,就不能作為鍵。集合集合概述:Python中的集合(set)與數(shù)學(xué)中的集合概念類(lèi)似,也是用于保存不重復(fù)的元素。它有可變集合(set)和不可變集合(frozenset)兩種。在形式上,集合的所有元素都放在一對(duì)大括號(hào)中,兩個(gè)相鄰元素間使用逗號(hào)“,”分隔。集合最好的應(yīng)用就是去重,因?yàn)榧现械拿總€(gè)元素都是唯一的。1集合的創(chuàng)建集合在Python中提供了兩種創(chuàng)建集合的方法,一種是直接使用“{}”創(chuàng)建;另一種是通過(guò)set()函數(shù)將列表、元組等可迭代對(duì)象轉(zhuǎn)換為集合。一般推薦使用第二種方法。使用set()函數(shù)創(chuàng)建集合在Python中,可以使用set()函數(shù)將列表、元組等其他可迭代對(duì)象轉(zhuǎn)換為集合。set()函數(shù)的語(yǔ)法格式如下:setname=set(iteration)直接使用{}創(chuàng)建集合在Python中,創(chuàng)建set集合也可以像列表、元組和字典一樣,直接將集合賦值給變量,從而實(shí)現(xiàn)創(chuàng)建集合,即直接使用大括號(hào)“{}”創(chuàng)建。集合的創(chuàng)建2集合元素的常見(jiàn)操作集合03040102向集合中添加元素:add()方法。update()方法是向集合追加的數(shù)據(jù)是序列從集合中刪除元素:del命令刪除整個(gè)集合,集合的discard()方法、pop()方法或者remove()方法刪除一個(gè)元素,或者使用集合對(duì)象的clear()方法清空集合,即使其變?yōu)榭占稀2檎以卦诩现杏胕n判斷數(shù)據(jù)在集合序列;notin:判斷數(shù)據(jù)不在集合序列。tuple(seq):將列表轉(zhuǎn)化為元組。集合是可變序列,所以在創(chuàng)建集合后,還可以對(duì)其添加或者刪除元素。集合元素的常見(jiàn)操作2集合的交集、并集和差集數(shù)學(xué)運(yùn)算集合集合最常用的操作就是進(jìn)行交集、并集、差集和對(duì)稱(chēng)差集運(yùn)算。進(jìn)行交集運(yùn)算時(shí)使用“&”符號(hào);進(jìn)行并集運(yùn)算時(shí)使用“|”符號(hào);進(jìn)行差集運(yùn)算時(shí)使用“-”符號(hào)。集合是可修改的數(shù)據(jù)類(lèi)型,但集合中的元素必須是不可修改的。換句話(huà)說(shuō),集合中元素只能是數(shù)值、字符串、元組之類(lèi)。容器中的公共操作

容器中的公共操作概述:容器是一種把多個(gè)元素組織在一起的數(shù)據(jù)結(jié)構(gòu),容器中的元素可以逐個(gè)地迭代獲取,可以用in,notin關(guān)鍵字判斷元素是否包含在容器中。容器是一種可以包含其他類(lèi)型對(duì)象(如列表、元組、字典等)作為元素的對(duì)象。容器僅僅只是用來(lái)存放數(shù)據(jù)的,我們平??吹降膌=[1,2,3,4]等等,好像我們可以直接從列表這個(gè)容器中取出元素,但事實(shí)上容器并不提供這種能力,而是可迭代對(duì)象賦予了容器這種能力。1運(yùn)算符操作容器中的公共操作在上述序列中,常常都會(huì)用到+、*、in和notin,接下來(lái)對(duì)各個(gè)運(yùn)算符進(jìn)行解釋。

運(yùn)算符操作“+”運(yùn)算符“+”運(yùn)算符,主要用于字符串、列表、元組的合并操作。list()方法list()方法作用:將某個(gè)序列轉(zhuǎn)換成列表.set()方法set()方法作用:將某個(gè)序列轉(zhuǎn)換成集合2公共方法容器中的公共操作在序列方法中,常用的公共方法有l(wèi)en()方法、del或del()方法、max()和min()方法、range(start,end,step)和.enumerate()方法。

公共方法len()方法len()方法可以統(tǒng)計(jì)字符串、列表、元組、字典容器中元素個(gè)數(shù)。.del或del()方法del或del()方法刪除字符串、列表部分或全部元素。max()和min()方法max()和min()方法分別返回容器中元素最大值和最小值。3容器類(lèi)型轉(zhuǎn)換容器中的公共操作在上述的各類(lèi)容器中,可以通過(guò)tuple()、list()和set()進(jìn)行相互轉(zhuǎn)換。

容器類(lèi)型轉(zhuǎn)換tuple()方法tuple()方法作用:將某個(gè)序列轉(zhuǎn)換成元組.del或del()方法del或del()方法刪除字符串、列表部分或全部元素。max()和min()方法max()和min()方法分別返回容器中元素最大值和最小值。推導(dǎo)式與生成器推導(dǎo)式

推導(dǎo)式與生成器推導(dǎo)式概述:推導(dǎo)式(又稱(chēng)解析式),是Python的一種獨(dú)有特性。推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。Python中共有三種推導(dǎo),在Python2和3中都有支持:列表(list)推導(dǎo)式、字典(dict)推導(dǎo)式、集合(set)推導(dǎo)式。推導(dǎo)式的最大優(yōu)勢(shì)是化簡(jiǎn)代碼,主要適合于創(chuàng)建或控制有規(guī)律的序列1列表推導(dǎo)式推導(dǎo)式與生成器推導(dǎo)式使用列表推導(dǎo)式可以快速生成一個(gè)列表,或者根據(jù)某個(gè)列表生成滿(mǎn)足指定需求的列表。列表推導(dǎo)式通常有以下幾種常用的語(yǔ)法格式。

列表推導(dǎo)式從列表中選擇符合條件的元素組成新的列表多個(gè)for實(shí)現(xiàn)列表推導(dǎo)式生成指定范圍的數(shù)值列表根據(jù)列表生成指定需求的列表2字典推導(dǎo)式推導(dǎo)式與生成器推導(dǎo)式字典推導(dǎo)式的基礎(chǔ)模板:{key:valueforkey,valueinexisting_data_structure}

容器類(lèi)型轉(zhuǎn)換利用字典推導(dǎo)式創(chuàng)建一個(gè)字典將兩個(gè)列表合并為一個(gè)字典提取字典中目標(biāo)數(shù)據(jù)3集合推導(dǎo)式推導(dǎo)式與生成器推導(dǎo)式集合推導(dǎo)式跟列表推導(dǎo)式是相似的,唯一的區(qū)別就是它使用的是大括號(hào)。集合推導(dǎo)式基礎(chǔ)模板:{exprforvalueincollectionifcondition}【例】將名字去重并把名字的格式統(tǒng)一為首字母大寫(xiě)。names=['Bob','JOHN','alice','bob','ALICE','James','Bob

溫馨提示

  • 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)論