亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      python

      當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

      如何利用python定義數(shù)組?

      來源:中華考試網(wǎng)  [2020年9月29日]  【

        

        所謂數(shù)組,是有序的元素序列。若將有限個(gè)類型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。那么python如何定義數(shù)組呢?一起來了解下吧:

        python如何定義數(shù)組

        一、一維數(shù)組

        1.直接定義

        matrix=[0,1,2,3]

        2.間接定義

        matrix=[0 for i in range(4)]

        print(matrix)

        輸出:

        [0, 0, 0, 0]

        3.數(shù)組乘法

        matrix=[0]*5

        print(matrix)

        輸出:

        [0, 0, 0, 0, 0]

        二、二維數(shù)組

        1.直接定義(3*2)

        matrix=[[0,0],[0,0],[0,0]]

        2.間接定義(3*2)

        matrix=[[0 for i in range(2)] for i in range(3)]

        print(matrix)

        輸出:

        [[0, 0], [0, 0], [0, 0]]

        3.數(shù)組乘法

        matrix=[[0,0]]*5

        print(matrix)

        輸出:

        [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]

        Python數(shù)組定義的方法

        Python中沒有數(shù)組的數(shù)據(jù)結(jié)構(gòu),但列表很像數(shù)組,如:

        a=[0,1,2]

        這時(shí):a[0]=0, a[1]=1, a[[2]=2,但引出一個(gè)問題,即如果數(shù)組a想定義為0到999怎么辦?這時(shí)可能通過a = range(0, 1000)實(shí)現(xiàn)。或省略為a = range(1000).如果想定義1000長度的a,初始值全為0,則 a = [0 for x in range(0, 1000)]

      python學(xué)習(xí)課程預(yù)約提醒

      • 地區(qū):
      • 姓名:
      • 手機(jī):

        下面是二維數(shù)組的定義:

        直接定義:

        a=[[1,1],[1,1]]

        這里定義了一個(gè)2*2的,且初始為0的二維數(shù)組。

        間接定義:

        a=[[0 for x in range(10)] for y in range(10)]

        這里定義了10*10初始為0的二維數(shù)組。

        還有更簡單的字義二維數(shù)組的方法:

        b = [[0]*10]*10

        定義10*10初始為0的二維數(shù)組。

        與a=[[0 for x in range(10)] for y in range(10)]比較:print a==b的結(jié)果為True。

        但用b的定義方法代替a后,以前的可以正常運(yùn)行的程序也出錯(cuò)了,經(jīng)過仔細(xì)分析得出區(qū)別:

        a[0][0]=1時(shí),只有a[0][0]為1,其他全為0。

        b[0][0]=1時(shí),a[0][0],a[1][0],只到a[9,0]全部為1。

        由此得到大數(shù)組中的10個(gè)小的一維數(shù)據(jù)全是一個(gè)相同的引用,即指向同一地址。

        故 b = [[0]*10]*10并不符合我們常規(guī)意義上的二維數(shù)組。

        同時(shí)經(jīng)過試驗(yàn):c=[0]*10的定義與c=[0 for x in range(10)]有同樣的效果,而沒有上面相同引用的問題,估計(jì)數(shù)組c的定義時(shí)是值類型相乘,而前面b的用類型的相乘,因?yàn)橐痪S數(shù)組是一個(gè)引用(借用C#中的值類型和引用類型,不知是否合適)。

      責(zé)編:hym
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語考試
      • 學(xué)歷考試