版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年攤位柜臺(tái)經(jīng)營(yíng)管理權(quán)轉(zhuǎn)讓合同樣本3篇
- 2025年度旅游大巴租賃與旅游咨詢服務(wù)合同范本4篇
- 2025年洗車店租賃合同全新升級(jí)版3篇
- 2025年度飛機(jī)零部件買賣合同附帶安裝與維護(hù)服務(wù)合同4篇
- 個(gè)性化房地產(chǎn)顧問服務(wù)協(xié)議2024版版
- 二零二五年度高科技產(chǎn)業(yè)園區(qū)招標(biāo)文件編制及論文創(chuàng)新協(xié)議3篇
- 二零二五年度零食店收銀員顧客滿意度提升服務(wù)合同4篇
- 二零二五年度智能家居研發(fā)合同6篇
- 2025版煤炭運(yùn)輸合同-煤炭運(yùn)輸與環(huán)保合規(guī)服務(wù)協(xié)議4篇
- 2025年船舶用水泵購銷及維護(hù)保養(yǎng)合同3篇
- 上海紐約大學(xué)自主招生面試試題綜合素質(zhì)答案技巧
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 2022年物流服務(wù)師職業(yè)技能競(jìng)賽理論題庫(含答案)
- 危化品安全操作規(guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術(shù)規(guī)程
- 高邊坡施工危險(xiǎn)源辨識(shí)及分析
- 中海地產(chǎn)設(shè)計(jì)管理程序
- 簡(jiǎn)譜視唱15942
- 《城鎮(zhèn)燃?xì)庠O(shè)施運(yùn)行、維護(hù)和搶修安全技術(shù)規(guī)程》(CJJ51-2006)
- 項(xiàng)目付款審核流程(visio流程圖)
評(píng)論
0/150
提交評(píng)論