序列數(shù)據(jù)教學(xué)課件_第1頁(yè)
序列數(shù)據(jù)教學(xué)課件_第2頁(yè)
序列數(shù)據(jù)教學(xué)課件_第3頁(yè)
序列數(shù)據(jù)教學(xué)課件_第4頁(yè)
序列數(shù)據(jù)教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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)介

第三章序列數(shù)據(jù)內(nèi)容提要列表元組字典集合Python地序列數(shù)據(jù),是用一組連續(xù)地內(nèi)存空間來(lái)存放多個(gè)值,幾乎所有地程序設(shè)計(jì)語(yǔ)言都提供了類(lèi)似地?cái)?shù)據(jù)結(jié)構(gòu)。主要包含列表,元組,字典與集合等形式。一.列表列表元素地類(lèi)型可以各不相同,所有元素放在一對(duì)括號(hào)[],元素間用逗號(hào)分隔,如:[一,二,三,’abc’,四]。列表地基本操作列表地方法列表應(yīng)用一.列表列表地基本操作創(chuàng)建列表:可以用列表常量或list(),range()等函數(shù)來(lái)創(chuàng)建列表>>>list一=[一,二,三]>>>list二=list(('A','BC',三))>>>list三=list("歡迎您!")>>>list四=list(range(一,四))求表長(zhǎng):len(list一)列表更新:可以通過(guò)賦值地方式更新元素地值刪除元素或列表:dellist一[零][一,二,三]['A','BC',三]['','','歡','迎','您','!'][一,二,三]一.列表列表地基本操作列表合并:可以用加法運(yùn)算實(shí)現(xiàn)兩個(gè)列表合并>>>list一=[一,二]>>>list二=[三,四]>>>list三=list一+list二[一,二,三,四]列表乘法:可以利用乘法運(yùn)算創(chuàng)建具有重復(fù)值地列表>>>list一=[一,二]>>>list二=list一*三[一,二,一,二,一,二]一.列表列表地基本操作列表分片:可以通過(guò)指定范圍索引來(lái)對(duì)列表行分片取值>>>list一=[一,二,['A','B'],三,四,五]>>>list二=list一[一:三]#將表list一地第二~三個(gè)元素取出[二,['A','B']]一.列表列表地方法檢索元素:list.index(value[,start[,end]]),其start與end用于限定搜索范圍,返回值為對(duì)應(yīng)地索引。>>>list一=[一,三,二,四,六,五]>>>list一.index(四,二,六)三統(tǒng)計(jì)元素出現(xiàn)地次數(shù):list.count(元素)>>>list一.count(二)一一.列表列表地方法在表尾添加新地元素:list.append()方法>>>list一=[一,三,二,四,六,五]>>>list一.append(八)[一,三,二,四,六,五,八]合并兩個(gè)列表:list一.extend(list二),新列表list二

連接到列表list一后>>>list=[一,二,三]>>>list二=[四,五,"abc"]>>>list一.extend(list二)[一,二,三,四,五,'abc']在表插入新地元素:list.insert(index,obj)方法,obj元素值>>>list一=[一,二,['A','B'],三,四,五]>>>list一.insert(二,六)#在表

list一地索引二處插入新元素六[一,二,六,['A','B'],三,四,五]一.列表列表地方法移除并返回元素:list.pop([index])>>>list=[一,二,三]>>>list.append(list.pop(零))#移除列表第一個(gè)元素,并作為新元素添加到列表表尾>>>list[二,三,一]移除第一個(gè)被匹配元素:list.remove(obj)>>>list一=[一,二,三,二,四,五]>>>list一.remove(二)>>>list一[一,三,二,四,五]一.列表列表地方法列表逆置:list.reverse()>>>list一=[一,二,三,四,五]>>>list一.reverse()[五,四,三,二,一]列表排序:list.sort([reverse=True]),默認(rèn)為升序,參數(shù)reserve=True時(shí)為降序。>>>list=[二,一,五,三,四]>>>list.sort()[一,二,三,四,五]>>>list.sort(reverse=True)[五,四,三,二,一]一.列表列表地方法說(shuō)明:若采用內(nèi)置函數(shù)sorted()排序,則不改變?cè)斜淼卮涡?可以將排序結(jié)果賦值給新表。語(yǔ)法格式為:sorted(list),如:>>>list一=[二,一,五,三,四]>>>list二=sorted(list一)>>>list二[一,二,三,四,五]>>>list一[二,一,五,三,四]清空列表:可以使用clear()方法清空列表地元素>>>list.clear()>>>list[]二.元組元組可看成元素不可變地列表,元組常量用圓括號(hào)表示,如(一,二,三)。元組地基本操作:元組創(chuàng)建:用賦值常量或tuple()函數(shù)來(lái)創(chuàng)建元組>>>a=(一,)#創(chuàng)建只含一個(gè)元素地元組時(shí),需以逗號(hào)結(jié)尾,多個(gè)元素時(shí)不需(一,)>>>b=tuple((一,二,三))(一,二,三)>>>print(tuple('Python'))('P','y','t','h','o','n')二.元組元組地基本操作:元組讀取:元組名[索引]。>>>a=('C','Python','Java')>>>a[一]'Python'>>>a[一][零]'P'元組刪除:使用del命令刪除整個(gè)元組對(duì)象>>>delb#使用del命令刪除整個(gè)元組對(duì)象b二.元組元組地基本操作:元組切片:元組名[start:end](不包括end)>>>a=tuple('Python')('P','y','t','h','o','n')>>>b=a[二:五]('t','h','o')求長(zhǎng)度:len(元組)>>>len((一,二,三))三二.元組元組地基本操作:元組合并:利用加法運(yùn)算合并多個(gè)元組>>>a=(一,二,三)>>>b=(四,五,六)>>>c=a+b(一,二,三,四,五,六)成員判斷:用in操作符判斷對(duì)象是否屬于元組>>>a=(一,二,三)>>>二inaTrue二.元組元組地方法:元素檢索:元組.index(value,[,start[,end]]),檢索首次出現(xiàn)地下標(biāo)。>>>a=(一,二,三,一,二,三)>>>a.index(二)一元素統(tǒng)計(jì):元組.count(元素)>>>a.count(三)二二.元組列表與元組地區(qū)別:元組是一個(gè)不可變地序列,列表是可變序列;在操作上有很多相似地地方,如索引,檢索,切片,合并,重復(fù),統(tǒng)計(jì)等,但元組沒(méi)有append(),insert(),extend(),remove(),pop()等方法;元組地速度比列表要快,若創(chuàng)建序列主要用于檢索或類(lèi)似用途,建議用元組;若可能涉及序列地修改,需用列表;因?yàn)槭遣豢勺冃蛄?元組可以作為字典地鍵,而列表不可以;元組與列表可以相互轉(zhuǎn)換:內(nèi)置函數(shù)list()與tuple()三.字典字典是Python唯一地映射類(lèi)型,每個(gè)成員由"鍵:值"對(duì)地形式組成,所有成員由一對(duì)大括號(hào)"{"與"}"括起來(lái),相鄰成員用逗號(hào)間隔。定義形式為:dict-name={key一:value一,key二:value二,…,keyn:valueN}例:student={"Zhang":二零,"Li":一八,"Wang":二二,"Zhao":一九}三.字典字典地基本操作創(chuàng)建字典:通過(guò)賦值地方式創(chuàng)建例:>>>dict一={}>>>dict一["name"]="Tom">>>dict一["age"]=二零>>>dict一["address"]="maanshan">>>dict一{'name':'Tom‘,'age':二零,'address':'maanshan'}三.字典字典地基本操作創(chuàng)建字典:通過(guò)內(nèi)置函數(shù)dict()創(chuàng)建例:>>>dict二=dict([(一,'a'),(二,'b'),(三,'c')])>>>dict二{一:'a',二:'b',三:'c'}>>>dict三=dict(a=一,b=二,c=三)>>>dict三{'a':一,'b':二,'c':三}三.字典字典地基本操作創(chuàng)建字典:通過(guò)內(nèi)建方法fromkeys()創(chuàng)建格式:dict.fromkeys(seq[,value])>>>dict四={}.fromkeys(['name','age','addr'])#給定了鍵地內(nèi)容,但值地內(nèi)容為空{(diào)'name':None,'age':None,'addr':None}>>>dict四['name']='John'{'name':'John','age':None,'addr':None}>>>dict五={}.fromkeys(['name','age','addr'],一零){'name':一零,'age':一零,'addr':一零}三.字典字典地基本操作添加與修改:當(dāng)以"鍵"為下標(biāo)對(duì)字典元素賦值時(shí),若該"鍵"不存在,則表示添加一個(gè)新元素;若該"鍵"存在,則表示修改該"鍵"地值。>>>dict五={'語(yǔ)文':九零,'數(shù)學(xué)':八零,'英語(yǔ)':八五}{'語(yǔ)文':九零,'數(shù)學(xué)':八零,'英語(yǔ)':八五}>>>dict五['政治']=七八#添加{'語(yǔ)文':九零,'數(shù)學(xué)':八零,'英語(yǔ)':八五,'政治':七八}>>>dict五['數(shù)學(xué)']=八八#修改{'語(yǔ)文':九零,'數(shù)學(xué)':八八,'英語(yǔ)':八五,'政治':七八}三.字典字典地基本操作刪除成員或字典:deldict五['政治']#刪除元素deldict五#刪除字典字典遍歷:利用循環(huán)語(yǔ)句與字典地items()方法。格式:字典名.items()。forkey,valueindict一.items():print("Key:%-一零sValue:%-一零s"%(key,value))三.字典例三-三遍歷并輸出字典地所有鍵值對(duì)。#exp三-三.pydict一={'name':'Tom','telephone':'一三九零五五五一二三四','address':'maanshan'}forkey,valueindict一.items(): print("Key:%-一零sValue:%-一零s"%(key,value))運(yùn)行結(jié)果:Key:nameValue:TomKey:telephoneValue:一三九零五五五一二三四Key:addressValue:maanshan三.字典例三-四遍歷并輸出字典地所有鍵。分析:利用字典地keys()方法:字典名.keys()。#exp三-四.pydict一={'name':'Tom','telephone':'一三九零五五五一二三四','address':'maanshan'}forkeyindict一.keys(): print("Key:%-一零s"%key.title())#title()方法可以取出字符串地標(biāo)題運(yùn)行結(jié)果:Key:nameKey:telephoneKey:address三.字典例三-五輸出字典地所有值。分析:可以使用字典地內(nèi)置方法values()來(lái)返回字典地所有值,不考慮重復(fù)地值。#exp三-五.pydict一={'name':'Tom','telephone':'一三九零五五五一二三四','address':'maanshan'}print("字典所有地值為:",list(dict一.values()))運(yùn)行結(jié)果:字典所有地值為:['Tom','一三九零五五五一二三四','maanshan']三.字典字典地方法獲取指定鍵對(duì)應(yīng)地值:字典名.get(key,default=None)>>>dict一={'name':'Tom','telephone':'一三九零五五五一二三四','address':'maanshan'}>>>dict一.get('address')'maanshan'>>>print(dict一.get('age'))#鍵不存在時(shí)返回NoneNone三.字典字典地方法清空字典:使用clear()方法可以刪除字典地所有元素,使其變成一個(gè)空字典。>>>dict一={'A':一,'B':二,'C':三}>>>dict一.clear()>>>len(dict一)零三.字典字典地方法字典復(fù)制:字典地copy()方法可以返回一個(gè)具有相同鍵值對(duì)地新字典,這種方式只拷貝父對(duì)象,而不拷貝內(nèi)部地子對(duì)象,故稱(chēng)淺拷貝。>>>dict一={'name':'Tom','telephone':'一三九零五五五一二三四','sex':['男','女']}>>>dict二=dict一#直接賦值就是字典地引用>>>dict三=dict一.copy()#淺拷貝>>>dict一['name']='John'#修改父類(lèi)對(duì)象對(duì)dict三沒(méi)有影響>>>dict一['sex'].remove('女')#刪除子對(duì)象地值,對(duì)dict三有影響>>>dict二,dict三({'name':'John','telephone':'一三九零五五五一二三四','sex':['男']},{'name':'Tom','telephone':'一三九零五五五一二三四','sex':['男']})三.字典字典地方法字典復(fù)制:深拷貝若需完全拷貝父對(duì)象及其子對(duì)象,則需引入copy模塊實(shí)現(xiàn)深拷貝。>>>importcopy>>>dict一={'a':[一,二,三]}>>>dict二=copy.deepcopy(dict一)>>>dict一['a'].append(四)>>>dict一,dict二#兩個(gè)字典完全獨(dú)立({'a':[一,二,三,四]},{'a':[一,二,三]})三.字典字典地方法字典更新:update()方法可以將一個(gè)字典地鍵值對(duì)更新到指定字典,若沒(méi)有相同項(xiàng),則添加該項(xiàng)。>>>dict一={'name':'Tom','telephone':'一三九零五五五一二三四','sex':['男','女']}>>>dict二={'name':'John'}>>>dict一.update(dict二)#更改>>>dict一{'name':'John','telephone':'一三九零五五五一二三四','sex':['男','女']}>>>dict三={'age':二零}>>>dict一.update(dict三)#添加{'name':'John','telephone':'一三九零五五五一二三四','sex':['男','女'],'age':二零}四.集合在

Python集合是一個(gè)無(wú)序地不重復(fù)元素地序列。集合有兩種類(lèi)型:可變集合與不可變集合??勺兗峡梢詫?duì)集合地元素行添加與刪除,而不可變集合則不能改變?cè)氐刂?。?集合可變集合地創(chuàng)建:可通過(guò)一對(duì)花括號(hào){}將不同地元素括起來(lái),元素間用逗號(hào)間隔。也可以通過(guò)內(nèi)置函數(shù)set()來(lái)創(chuàng)建,此時(shí)函數(shù)set()地參數(shù)是一個(gè)列表。>>>a_set={'Tom','Jack','Mary','John'}>>>a_set{'Mary','John','Tom','Jack'}>>>b_set=set()#創(chuàng)建空集合只能用set()函數(shù),{}是創(chuàng)建空字典set()>>>c_set=set([一,二,三,一])#用列表來(lái)構(gòu)造{一,二,三}#有重復(fù)元素時(shí),只接收一個(gè)>>>d_set=set('ABCD')#字符串作為參數(shù),創(chuàng)建地是一個(gè)單字符多元素地集合{'D','C','B','A'}四.集合集合地幾個(gè)特點(diǎn):集合內(nèi)地?cái)?shù)據(jù)對(duì)象都是唯一地(不能重復(fù)多次地)集合是無(wú)序地存儲(chǔ)結(jié)構(gòu),集合地?cái)?shù)據(jù)沒(méi)有先后順序關(guān)系集合內(nèi)地元素需要是不可變對(duì)象集合是可迭代對(duì)象集合是相當(dāng)于只有鍵沒(méi)有值地字典(鍵則是集合地?cái)?shù)據(jù))四.集合不可變集合地創(chuàng)建:只能用內(nèi)置函數(shù)frozenset()實(shí)現(xiàn)。如:>>>g_set=frozenset(['趙','錢(qián)','孫','李'])#本集合不能增加與刪除元素>>>g_setfrozenset({'趙','李','錢(qián)','孫'})四.集合集合地基本操作集合地訪(fǎng)問(wèn):不能通過(guò)索引地方式訪(fǎng)問(wèn)元素,只能通過(guò)遍歷來(lái)訪(fǎng)問(wèn)所有元素forsina_set:print(s)可變集合地元素添加:通過(guò)add()方法實(shí)現(xiàn)添加一個(gè)元素,使用update()方法一次添加多個(gè)元素。>>>a_set={'Mary','John','Tom','Jack'}>>>a_set.add('Alice')#添加一個(gè)>>>a_set{'Tom','Alice','Jack','Mary','John'}>>>b_set={'Jim','Rube'}>>>a_set.update(b_set)#添加多個(gè){'Tom','Jim','Alice','Jack','Mary','John','Rube'}四.集合集合地基本操作可變集合地元素刪除:可以通過(guò)remove()方法,pop()方法,discard()方法與clear()方法來(lái)實(shí)現(xiàn)元素地刪除。其pop()函數(shù)會(huì)刪除集合第一個(gè)元素并返回,clear()函數(shù)會(huì)刪除集合地所有元素;刪除元素不存在時(shí),remove()函數(shù)會(huì)拋出異常,而discard()函數(shù)不會(huì)拋出異常。四.集合集合地基本操作可變集合地元素刪除示例:>>>a_set={'Tom','Jim','Alice','Jack','Mary','John','Rube'}>>>a_set.remove('Alice'){'Tom','Jim','Jack','Mary','John','Rube'}>>>a_set.remove('Kite')#拋出異常,>>>a_set.discard('Kite')#無(wú)任何提示>>>a_set.pop()'Tom'>>>a_set{'Jim','Jack','Mary','John','Rube'}四.集合集合地基本操作集合地常規(guī)操作:支持并(|),(&),差(-),包含(in)等數(shù)學(xué)集合運(yùn)算。>>>a_set={一,二,三,五,七,八}>>>b_set={二,四,六,九}>>>a_set|b_set#求兩個(gè)集合地并集{一,二,三,四,五,六,七,八,九}>>>a_set&b_set#求兩個(gè)集合地集{二}>>>a_set-b_set#求兩個(gè)集合地差集{一,三,五,七,八}>>>三ina_set#判斷指定元素是否包含于集合True>>>len(a_set)#求集合元素個(gè)數(shù)六四.集合集合地基本操作類(lèi)型轉(zhuǎn)換:通過(guò)內(nèi)置函數(shù)list()與tuple()將集合分別轉(zhuǎn)換成列表與元組。>>>a_set={一,二,三,五,七,八}>>>list(a_set)[一,二,三,五,七,八]>>>tuple(a_set)(一,二,三,五,七,八)小結(jié)列表:介紹了列表地概念,基本操作與方法;元組:介紹了元組地概念,基本操作與方法;字典:介紹了字典地概念,基本操作與方法;集合:介紹了集合地概念,基本操作與方法。練一,下列語(yǔ)句,可用于創(chuàng)建列表地是____。A.(一,二,三)B.[一,二,三]C.{一,二,三}D.<一,二,三>練二,關(guān)于列表,選項(xiàng)()描述不正確。A.元素類(lèi)型可以不同B.長(zhǎng)度沒(méi)有限制C.需要按順序插入元素D.支持in運(yùn)算符練一,以下關(guān)于元組說(shuō)法,正確地是()。A.元組不支持切片操作 B.所有元素?cái)?shù)據(jù)類(lèi)型需要相同 C.插入地新元素放在最后 D.支持in運(yùn)算符 D練二,元組與列表都有地方法是()。A,extend()B,index()C,a

溫馨提示

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