資源簡(jiǎn)介 (共15張PPT)數(shù)組及其應(yīng)用冊(cè) 別:選擇性必修1學(xué) 科:高中信息技術(shù)(浙教版)數(shù)組是由相同類型的變量構(gòu)成一個(gè)序列。一、數(shù)組的概念數(shù)組名d:下標(biāo)數(shù)組元素數(shù)組的分類:一維數(shù)組:a[i]二維數(shù)組:a[i][j]數(shù)組在內(nèi)存中存儲(chǔ)的結(jié)構(gòu)簡(jiǎn)單,創(chuàng)建數(shù)組時(shí)系統(tǒng)會(huì)分配一塊連續(xù)的存儲(chǔ)空間,每個(gè)數(shù)組元素按照下標(biāo)順序依次存儲(chǔ)。0 1 2 3 40 0 1 0 0 01 1 2 2 0 02 0 2 0 1 03 0 2 0 0 04 0 0 0 0 0數(shù)組d:列下標(biāo) j行下標(biāo) i數(shù)組元素:a[0][1],a[0][1],...,a[4][4]二維數(shù)組的存儲(chǔ)方式:行優(yōu)先存儲(chǔ)方式列優(yōu)先存儲(chǔ)方式01000122...[0][0][0][1][0][2][0][3][0][4][1][0][1][1][1][2]...行優(yōu)先存儲(chǔ)一、數(shù)組的概念數(shù)組d下標(biāo)二、數(shù)組的基本操作:創(chuàng)建在Python語(yǔ)言中沒(méi)有數(shù)組這種結(jié)構(gòu),但是有更靈活的數(shù)據(jù)結(jié)構(gòu):列表。創(chuàng)建列表實(shí)現(xiàn)一維數(shù)組:(1)使用 [ ] 直接創(chuàng)建a = [1, 2, 3](2)使用 list( ) 函數(shù)創(chuàng)建a = list( ‘Key’ )(3)使用 * 創(chuàng)建a = [ 0 ] * 4(4)使用 for 循環(huán)創(chuàng)建a = [ 0 for i in range( 4 )]a = [ 1, 2, 3 ]a = [ “K”,”e”,”y” ]a = [ 0, 0, 0, 0 ]a = [ 0, 0, 0, 0 ]創(chuàng)建列表實(shí)現(xiàn)二維數(shù)組:(1)使用 [ ] 直接創(chuàng)建(直接定義)a = [[1, 2, 3],[4, 5, 6]](2)使用 for 循環(huán)創(chuàng)建(間接定義)a = [[ 0 for i in range( 3 )] for i in range( 2 )](3)使用 * 創(chuàng)建(淺拷貝)a = [[ 0 ] * 3] * 2a = [[ 1, 2, 3 ],[ 4, 5, 6] ]a = [[0 , 0, 0],[ 0, 0, 0] ]a = [[ 0, 0, 0],[ 0, 0, 0] ]二、數(shù)組的基本操作:創(chuàng)建二、數(shù)組的基本操作:訪問(wèn)二維數(shù)組例如:a = [ 1, 2, 3, 4, 5, 6]a[ 0 ] = 1a[ 3 ] = 4一維數(shù)組例如:a = [ [1, 2, 3], [4, 5, 6] ]a[ 0 ][ 1 ] = 2a[ 1 ][ 2 ] = 6二、數(shù)組的基本操作:插入與刪除data1 0data2 1data3 2data4 3data5 45下標(biāo)插入新數(shù)據(jù)前的數(shù)組d新數(shù)據(jù)插入位置data1 0data2 12data3 3data4 4data5 5data1 0data2 1new_data 2data3 3data4 4data5 5移動(dòng)數(shù)據(jù)后的數(shù)組d插入新數(shù)據(jù)后的數(shù)組d下標(biāo)下標(biāo)如何用程序?qū)崿F(xiàn)該過(guò)程?自然語(yǔ)言描述:1、確定插入位置2、從最后一個(gè)數(shù)據(jù)開始,依次向后移動(dòng)一位3、新數(shù)據(jù)存入指定位置d[5]=d[4]d[4]=d[3]d[3]=d[2]d[2]=new_data二、數(shù)組的基本操作:插入與刪除from random import randintd=[0]*5for i in range(0,4):d[i]=randint(0,10)print(d[i])t=int(input("請(qǐng)輸入插入位置:"))new_data=int(input("請(qǐng)輸入插入的值:"))for i in range(4,t,-1):d[i]=d[i-1]d[t]=new_datad[5]=d[4]d[4]=d[3]d[3]=d[2]d[2]=new_datad[i-1]=new_data利用列表模擬實(shí)現(xiàn)數(shù)組的操作二、數(shù)組的基本操作:插入與刪除1、在數(shù)組中插入新數(shù)據(jù),是否可以先插入數(shù)據(jù),再移動(dòng)其他數(shù)組元素?2、移動(dòng)數(shù)組元素時(shí),其順序應(yīng)該是怎樣的?為什么一定要這樣的順序?3、如何實(shí)現(xiàn)在數(shù)組中刪除一個(gè)元素?二、數(shù)組的基本操作:插入與刪除1、時(shí)間效率低2、可能會(huì)因?yàn)槌鰯?shù)組元素?cái)?shù)量而出錯(cuò)3、刪數(shù)時(shí)會(huì)浪費(fèi)存儲(chǔ)空間三、Python中列表常用函數(shù)與方法四、例題楊輝三角,是二項(xiàng)式系數(shù)在三角形中的一種幾何排列,在我國(guó)南宋數(shù)學(xué)家楊輝1261年所編寫的《詳解九章算法》一書中出現(xiàn)。我們可以把楊輝三角看作這樣的圖形:最左側(cè)一列數(shù)字和右邊的斜邊數(shù)字均為1,內(nèi)部其他位置上的每個(gè)數(shù)字均為上一行同一列的數(shù)字與上一行前一列數(shù)字之和,前8行的楊輝三角如圖所示。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1四、例題楊輝三角中的數(shù)據(jù),可以使用一維數(shù)組存儲(chǔ),如圖所示。0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 …1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …1 2 3 4 5一維數(shù)組:pa 數(shù)組下標(biāo)行號(hào)(1)用一維數(shù)組Pa來(lái)存儲(chǔ)和處理數(shù)據(jù),初始化數(shù)組中所有元素值均為1,然后依次處理下表中數(shù)組元素的值,并將表中的數(shù)據(jù)補(bǔ)充完整。待處理順序 所在行號(hào) 待處理數(shù)組元素 計(jì)算公式1 3 pa[4] pa[1]+pa[2]2 4 pa[7] ①3 4 pa[8] pa[4]+pa[5]4 5 ② pa[6]+pa[7]… … … …pa[3]+pa[4]pa[11]四、例題(2)實(shí)現(xiàn)上述功能的代碼如下,請(qǐng)?jiān)趧澗€處填人合適的代碼。n=int(input("請(qǐng)輸入行數(shù)n="))pa=[1]*100 #定義數(shù)組pa大小為100k=1 #變量k存儲(chǔ)上一行的下標(biāo)位置for i in range (2,n):t=k+i+1 #變量t存儲(chǔ)當(dāng)前行的下標(biāo)起始位置for j in range(i-1):pa[t+j]=pa[k+j]+_____________k=k+ik=0for i in range(n): #輸出第0到n-1共n行數(shù)據(jù)s=""for j in range(i+1):s=s+""+___________________k+=1print(s)pa[k+j+1]str(pa[k])同學(xué)們,再見 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)