




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
8序列操作序列簡(jiǎn)介所謂序列,指的是一塊可存放多個(gè)值的連續(xù)內(nèi)存空間,這些值按一定順序排列,可通過每個(gè)值所在位置的編號(hào)(稱為索引)訪問它們。可以將序列看做是一家旅店,那么店中的每個(gè)房間就如同序列存儲(chǔ)數(shù)據(jù)的一個(gè)個(gè)內(nèi)存空間,每個(gè)房間所特有的房間號(hào)就相當(dāng)于索引值。也就是說,通過房間號(hào)(索引)我們可以找到這家旅店(序列)中的每個(gè)房間(內(nèi)存空間)。序列簡(jiǎn)介序列的特點(diǎn):序列中每個(gè)組成部分稱為“元素”。序列是程序設(shè)計(jì)中經(jīng)常用到的數(shù)據(jù)存儲(chǔ)方式,幾乎每一種程序設(shè)計(jì)語言都提供了表格數(shù)據(jù)結(jié)構(gòu)。Python提供的序列類型在所有程序設(shè)計(jì)語言中是最豐富、最靈活,也是功能最強(qiáng)大的。序列簡(jiǎn)介序列類型字典字符串元組列表序列索引序列中,每個(gè)元素都有屬于自己的編號(hào)(索引)。從起始元素開始,索引值從0開始遞增,如下圖所示:元素1元素2元素3元素4元素…元素n0123…n-1索引(下標(biāo))序列索引此外Python還支持索引值是負(fù)數(shù),此類索引是從右向左計(jì)數(shù),即從最后一個(gè)元素開始計(jì)數(shù),從索引值-1開始,如下圖所示:
注意:在使用負(fù)值作為列序中各元素的索引值時(shí),是從-1開始,而不是從0開始。元素1元素2元素3元素…元素n-1元素n-(n-1)-(n-2)-(n-3)…-2-1索引(下標(biāo))序列切片切片操作是訪問序列中元素的另一種方法,它可以訪問一定范圍內(nèi)的元素,通過切片操作,可以生成一個(gè)新的序列。使用索引可以獲取單個(gè)元素,使用分片可以獲取序列中指定范圍內(nèi)的元素。切片操作符為[:]/[::]。序列切片的語法格式如下:sname[start:stop:step]序列切片序列切片的語法格式如下:sname[start:stop:step]sname:表示序列的名稱;start:表示切片的開始索引位置(包括該位置),如果不指定,默認(rèn)為0;stop:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認(rèn)為序列的長(zhǎng)度;step:表示在切片過程中,隔幾個(gè)存儲(chǔ)位置(包含當(dāng)前位置)取一次元素,也就是說,如果step的值大于1,則在進(jìn)行切片去序列元素時(shí),會(huì)“跳躍式”的取元素。如果省略設(shè)置step的值,則最后一個(gè)冒號(hào)就可以省略。序列切片注意:如果step>0,則表示從start索引對(duì)應(yīng)的元素開始,每step個(gè)元素取出來一個(gè),直到取到stop對(duì)應(yīng)的元素結(jié)束(step默認(rèn)為1),切片中冒號(hào)左邊索引對(duì)應(yīng)的元素晚于右邊索引對(duì)應(yīng)元素出現(xiàn)時(shí),返回結(jié)果是[]。如果step<0,則表示從右到左反向提取元素,即從start索引對(duì)應(yīng)的元素開始反向每step個(gè)元素取出來一個(gè),直到取到stop+1對(duì)應(yīng)的元素結(jié)束,此時(shí)切片中冒號(hào)左邊索引對(duì)應(yīng)的元素晚于右邊索引對(duì)應(yīng)元素出現(xiàn),否則返回[]。序列相加Python中,支持兩種類型相同的序列使用“+”運(yùn)算符做相加操作,它會(huì)將兩個(gè)序列進(jìn)行連接,但不會(huì)去除重復(fù)的元素。這里所說的“類型相同”,指的是“+”運(yùn)算符的兩側(cè)序列要么都是序列類型,要么都是元組類型,要么都是字符串。例如:
str="python"
print("編程語言:"+str)輸出結(jié)果為:"編程語言:python"序列相乘Python中,使用數(shù)字n乘以一個(gè)序列會(huì)生成新的序列,其內(nèi)容為原來序列被重復(fù)n次的結(jié)果。例如:
str="python"
print(str*3)輸出結(jié)果為:"pythonpythonpython"成員資格Python中可以使用in關(guān)鍵字檢查某元素是否為序列的成員。其語法格式為:valueinsequencevalue:表示要檢查的元素sequence:表示指定的序列。和in關(guān)鍵字用法相同,但功能恰好相反的,還有notin關(guān)鍵字,它用法檢查某個(gè)元素是否不包含在指定的序列中。內(nèi)建函數(shù)序列迭代要想同時(shí)迭代多個(gè)序列,每次分別從一個(gè)序列中取一個(gè)元素,可以使用zip()函數(shù)。例如:m=[1,5,4,2,10]n=[101,78,37,15,62,99]forx,yinzip(m,n):print(x,y)運(yùn)行結(jié)果為:11015784372151062zip(m,n)會(huì)生成一個(gè)可返回元組(x,y)的迭代器,其中x來自m,y來自n。一旦其中某個(gè)序列的元素迭代完,整個(gè)迭代宣告結(jié)束。因此迭代長(zhǎng)度跟參數(shù)中最短序列長(zhǎng)度一致。序列迭代
例如:
a=[1,2,3]
b=['u','v','w','x','y','z']
foriinzip(a,b):
print(i)運(yùn)行結(jié)果為:(1,'u')(2,'v')(3,'w')序列迭代如果想要迭代長(zhǎng)度跟參數(shù)中最長(zhǎng)序列長(zhǎng)度一致,那么可以使用itertools.zip_longest()函數(shù)來代替。例如:a=[1,2,3]b=['u','v','w','x','y','z']fromitertoolsimportzip_longestforiinzip_longest(a,b):
print(i)運(yùn)行結(jié)果為:(1,'u')(2,'v')(3,'w')(None,'x')(None,'y')(None,'z')序列拷貝淺拷貝:將一個(gè)序列中的所有元素復(fù)制給另一個(gè)序列。復(fù)制的數(shù)會(huì)隨著被復(fù)制數(shù)的嵌套序列的元素的改變而改變。格式:(數(shù)據(jù)).copy()深拷貝:將一個(gè)序列中的所有元素復(fù)制給另一個(gè)序列。復(fù)制的數(shù)不會(huì)隨著被復(fù)制數(shù)的嵌套序列的元素的改變而改變。格式:copy.deepcopy(數(shù)據(jù))序列拷貝例一:復(fù)制序列a=list(range(5))b=a.copy()print(a,b)運(yùn)行結(jié)果為:[0,1,2,3,4][0,1,2,3,4]例二:更改被復(fù)制的序列a=list(range(5))b=a.copy()a[0]=5print(a,b)運(yùn)行結(jié)果為:[5,1,2,3,4][0,1,2,3,4]序列拷貝例三:更改被復(fù)制的序列中的嵌套序列a=['a',list(range(5))]b=a.copy()print(a,b)a[1][0]=5print(a,b)運(yùn)行結(jié)果為:['a',[0,1,2,3,4]]['a',[0,1,2,3,4]]['a',[5,1,2,3,4]]['a',[5,1,2,3,4]]例四:深拷貝importcopya=['a',list(range(5))]b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 痔瘡的預(yù)防與日常護(hù)理指南
- 分子靶向治療臨床應(yīng)用與研究進(jìn)展
- 國(guó)際勞務(wù)合作仲裁條款合同
- 精益求精智能建筑光伏幕墻清潔機(jī)器人租賃服務(wù)規(guī)范文本
- 花卉綠植租賃擺放與室內(nèi)外裝飾設(shè)計(jì)服務(wù)合同
- 精細(xì)化管理影視特效場(chǎng)景施工與后期維護(hù)合同
- 智慧商業(yè)廣場(chǎng)餐飲區(qū)特許經(jīng)營(yíng)合同
- 跨平臺(tái)APP前端開發(fā)專家勞務(wù)派遣服務(wù)合同
- 氫能源加注站安全責(zé)任追究與事故調(diào)查承包合同
- 網(wǎng)店過戶流程規(guī)范及全程服務(wù)協(xié)議
- 軍隊(duì)文職招聘(臨床醫(yī)學(xué))近年考試真題題庫(含真題、典型題)(重點(diǎn)題)
- 《偽裝技術(shù)的簡(jiǎn)介》課件
- 改革發(fā)展專題教師培訓(xùn)講座
- 石油化工裝置模塊化設(shè)計(jì)淺析
- 2024年四級(jí)保健按摩師職業(yè)鑒定備考試題庫(含答案)
- 加油站的物資采購與庫存管理
- 《藥包材變更研究技術(shù)指南》(T-CNPPA 3009-2020)
- 中建一局薪酬管理分配模式
- 2025年合肥市中煤礦山建設(shè)集團(tuán)安徽綠建科技有限公司招聘筆試參考題庫附帶答案詳解
- 《基于UASB+AO工藝的屠宰污水處理工藝設(shè)計(jì)》15000字(論文)
- 2023年商務(wù)部直屬事業(yè)單位招聘筆試真題
評(píng)論
0/150
提交評(píng)論