国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


Python教程:python中二維列表的創(chuàng)建、訪問、應(yīng)用詳解

    時間: 瀏覽:2423次  來源:站長在線
歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《python中二維列表的創(chuàng)建、訪問、應(yīng)用詳解》。本知識點主要內(nèi)容有:二維列表的概念、直接定義二維列表、使用嵌套的for循環(huán)創(chuàng)建二維列表、使用列表推導(dǎo)式創(chuàng)建二維列表、二維列表的訪問、二維列表的應(yīng)用。

歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)python知識,本文學(xué)習(xí)的是《Python二維列表的創(chuàng)建、訪問、應(yīng)用詳解》。本知識點主要內(nèi)容有:二維列表的概念、直接定義二維列表、使用嵌套的for循環(huán)創(chuàng)建二維列表、使用列表推導(dǎo)式創(chuàng)建二維列表、二維列表的訪問、二維列表的應(yīng)用。


二維列表的概念:

二維列表是將其他列表當(dāng)做列表的元素放在一個列表當(dāng)中,也就是列表的嵌套。

站長在線溫馨提示:二維列表是多維列表的基礎(chǔ),未來還會出現(xiàn)三維列表,四維列表等多維列表。

在Python中,創(chuàng)建二維列表有以下3種常用的方法

1、直接定義二維列表。

在Python中,二維列表就是包含列表的列表。即一個列表的每個元素又都是一個列表。

在創(chuàng)建二維列表時,我們可以直接使用列表的語法格式,進行定義:

listname = [[元素11,元素12,元素13,......,元素1n],
            [元素21,元素22,元素23,......,元素2n],
            ......,
            [元素n1,元素n2,元素n3,......,元素nn]]

其中的相關(guān)參數(shù)說明如下:

listname:表示要生成的列表名稱。

[元素11,元素12,元素13,......,元素1n]:表示二維列表的第1行(也是一個列表)。其中元素11代表第1行第1列,元素12代表第1行第2列,以此類推,直到元素1n代表第1行第n列。

[元素21,元素22,元素23,......,元素2n]:表示二維列表的第2行(也是一個列表)。其中元素21代表第2行第1列,元素22代表第2行第2列,以此類推,直到元素2n代表第2行第n列。

[元素n1,元素n2,元素n3,......,元素nn]:表示二維列表的第n行(也是一個列表)。其中元素n1代表第n行第一列,元素n2代表第n行第2列,以此類推,直到元素nn代表第n行第n列。

例如,定義一個某中學(xué)9年級1班3位同學(xué)的語數(shù)英的成績列表,代碼如下:

cj = [['名字','語文','數(shù)學(xué)','英語'],
      ['張三',88,98,95],
      ['李四',85,99,91],
      ['王五',86,88,89]]   
print(cj)

運行上面代碼,創(chuàng)建的二維列表如下:

[['名字', '語文', '數(shù)學(xué)', '英語'], ['張三', 88, 98, 95], ['李四', 85, 99, 91], ['王五', 86, 88, 89]]
>>> 

2、使用嵌套的for循環(huán)創(chuàng)建二維列表。

在Python中,創(chuàng)建二維列表,可以使用嵌套的for循環(huán)來實現(xiàn),如創(chuàng)建一個5行5列的二維列表,可以使用下面代碼:

s = []                  # 創(chuàng)建一個空列表
for i in range(5):      # 創(chuàng)建一個5行的列表(行)
    s.append([])        # 在空的列表中添加空的列表
    for j in range(5):  # 循環(huán)每一行的每一個元素(列)
        s[i].APPend(j)  # 為內(nèi)層列表添加元素
print(s)                # 輸出列表

運行上面的代碼,創(chuàng)建的二維列表如下:

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> 

3、使用列表推導(dǎo)式創(chuàng)建二維列表。

我們剛剛在上一個知識點《在python中的列表推導(dǎo)式詳解》學(xué)習(xí)過列表推導(dǎo)式。列表推導(dǎo)式就是可以快速生成一個列表,或者根據(jù)某個列表生成滿足指定需求的列表。

在這里我們也可以使用列表推導(dǎo)式來創(chuàng)建二維列表,并且是被推薦的方法,而且語法簡單。

比如使用列表推導(dǎo)式的方法創(chuàng)建一個5行5列的二維列表,代碼如下:

s = [[j for j in range(5)] for i in range(5)]
print(s)

執(zhí)行上面代碼,創(chuàng)建的二維列表結(jié)果如下:

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> 

4、二維列表的訪問

我們在創(chuàng)建好二維列表以后,可以通過下列語法,對列表元素的訪問:

listname[索引1][索引2]

其中,相關(guān)的參數(shù)說明為:

listname:表示列表的名稱

索引1:列表中的行。索引值從0開始,即第一行是索引為0。(索引也稱為下標,索引1也稱為下標1)

索引2:列表中的列。索引值從0開始,即第一列是索引為0。(索引也稱為下標,索引2也稱為下標2)

如,定義一個二維列表,訪問他的第1行,第5列,可以使用下面代碼:listname[0,4]

s = [[j for j in range(5)] for i in range(5)]      # 定義一個5行5列的二維列表
print("5行5列的列表為:",s)                        # 輸出二維列表
print("其中第1行,第5列為:",s[0][4])              # 輸出第1行,第5列的元素

運行結(jié)果為:

5行5列的列表為: [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
其中第1行,第5列為: 4
>>> 

5、二維列表的應(yīng)用

使用二維列表輸出不同版式的古詩《靜夜思》

-- 橫版 --

床前明月光

疑是地上霜

舉頭望明月

低頭思故鄉(xiāng)


-- 豎版 --

低舉疑床

頭頭是前

思望地明

故明上月

鄉(xiāng)月霜光

站長在線溫馨提醒:橫版是從左往右讀,豎版是從右往左讀的。

我們在idle中新建一個文件,在該文件中,定義4個字符串為《靜夜思》的詩句,再定義一個二維列表,使用嵌套的for循環(huán),將古詩以橫版輸出,再將二維列表進行逆序排列,最后使用嵌套的for循環(huán),將古詩以豎版輸出,代碼如下:

str1 = '床前明月光'
str2 = '疑是地上霜'
str3 = '舉頭望明月'
str4 = '低頭思故鄉(xiāng)'
verse = [list(str1), list(str2), list(str3), list(str4)]   # 定義一個二維列表
print('\n-- 橫版 --\n')
for i in range(4):                                         # 循環(huán)古詩的每一行
    for j in range(5):                                     # 循環(huán)每一行的每個字(列)
        if j == 4:                                         # 如果是一行中的最后一個字
            print(verse[i][j])                             # 換行輸出
        else:
            print(verse[i][j], end='')                     # 不換行輸出

verse.reverse()                                            # 對列表進行逆序排列
print('\n-- 豎版 --\n')
for i in range(5):                                         # 循環(huán)每一行的每個字(列)
    for j in range(4):                                     # 循環(huán)新逆序排列后的第一行
        if j == 3:                                         # 如果是最后一行
            print(verse[j][i])                             # 換行輸出
        else:
            print(verse[j][i], end='')                     # 不換行輸出

運行結(jié)果如下:

-- 橫版 --

床前明月光
疑是地上霜
舉頭望明月
低頭思故鄉(xiāng)

-- 豎版 --

低舉疑床
頭頭是前
思望地明
故明上月
鄉(xiāng)月霜光
>>> 

原理解析:

5.1、先將古詩的每一行的字符串,使用list()函數(shù)轉(zhuǎn)換成列表。列表代碼如下:

[['床','前','明','月','光'],
 ['疑','是','地','上','霜'],
 ['舉','頭','望','明','月'],
 ['低','頭','思','故','鄉(xiāng)']]

5.2、列表對象reverse()方法用于對列表進行逆向排序,將列表的最后一個移到第一個,倒數(shù)第二個移到第二個,以此類推。代碼如下:

[['低', '頭', '思', '故', '鄉(xiāng)'],
 ['舉', '頭', '望', '明', '月'],
 ['疑', '是', '地', '上', '霜'],
 ['床', '前', '明', '月', '光']]

5.3、橫版是按行打印,豎版卻是按列打印,按列打印如下:

低舉疑床
頭頭是前
思望地明
故名上月
鄉(xiāng)月霜光

看見了吧,我們把讀不通順的,按列打印的“低舉疑床,頭頭是前,思望地明,故名上月,鄉(xiāng)月霜光”就正是我們要的按豎排打印的詩。豎排的寫法是從右往左寫的。讀也從右邊讀起,就正是我們的想要的詩了。

到此為止,本文主題《python中二維列表的創(chuàng)建、訪問、應(yīng)用詳解》中的二維列表的概念、直接定義二維列表、使用嵌套的for循環(huán)創(chuàng)建二維列表、使用列表推導(dǎo)式創(chuàng)建二維列表、二維列表的訪問、二維列表的應(yīng)用。就到此講解完畢了,還有不懂的可以留言哦!

官方網(wǎng)站文章沒有留言,可以免費進官方微信群討論哦。



本文地址:http://003188.cn/pythonerweiliebiao.html
碼字不易,打個賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

域名pythonw.cn出售

域名pythonw.cn的詳細信息:Python網(wǎng)

2022-08-06  分類:域名出售  瀏覽:1375次


站長在線Python教程:Python中類定義詳解

導(dǎo)讀:歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《Python中類定義詳解》。

2022-02-23  分類:Python學(xué)堂  瀏覽:1899次


站長在線Python教程:python中面向?qū)ο笙嚓P(guān)概述詳解

導(dǎo)讀:歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《python中面向?qū)ο笙嚓P(guān)概述詳解》。本文的主要內(nèi)容有:面向?qū)ο笫鞘裁?、面向?qū)ο笾械膶ο笫鞘裁础ython中的類是什么、面向?qū)ο缶幊痰奶攸c有哪些?

2022-02-14  分類:Python學(xué)堂  瀏覽:1617次


站長在線零基礎(chǔ)Python完全自學(xué)教程23:函數(shù)的返回值、作用域和匿名函數(shù)

導(dǎo)讀:歡迎你來到站長學(xué)堂,學(xué)習(xí)站長在線出品的在線課程《零基礎(chǔ) Python完全自學(xué)教程》今天給大家分享的是第23課《函數(shù)的返回值、作用域和匿名函數(shù)》。本文是一個大課程分成了下面4節(jié)小課程:Python中函數(shù)的返回值、Python函數(shù)中的局部變量、Python函數(shù)中的全局變量、Python函數(shù)中的匿名函數(shù)等內(nèi)容。

2022-02-09  分類:Python學(xué)堂  瀏覽:1487次


站長在線Python教程:Python函數(shù)中的匿名函數(shù)詳解

歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《Python函數(shù)中的匿名函數(shù)詳解》。本文的主要內(nèi)容有:匿名函數(shù)的定義、匿名函數(shù)的表達式、匿名函數(shù)的注意點、匿名函數(shù)的優(yōu)點、匿名函數(shù)的應(yīng)用舉例。

2022-02-01  分類:Python學(xué)堂  瀏覽:1603次


站長在線Python教程精講:在Python函數(shù)中的全局變量詳解

歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《Python中的全局變量詳解》。本文的主要內(nèi)容有:什么是全局變量、在函數(shù)外部定義的變量是全局變量、在函數(shù)內(nèi)部定義中添加global關(guān)鍵詞后變成全局變量。

2022-01-10  分類:Python學(xué)堂  瀏覽:1719次


站長在線Python教程精講:在Python函數(shù)中的局部變量詳解

導(dǎo)讀:歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《在Python函數(shù)中的局部變量詳解》。本文的主要內(nèi)容有:變量的作用域的概念、局部變量的概念、局部變量的舉例。

2022-01-06  分類:Python學(xué)堂  瀏覽:1620次


Python常用英語及用法

站長在線站長,準備系統(tǒng)的學(xué)習(xí)Python知識,但是對我來說,英語實在是太差了,當(dāng)然我知道的是,不僅僅我,很多人在學(xué)習(xí)Python的時候,也是不知道這些英語單詞的意思與用法的,在這里站長在線站長就把這些英語整理出來,把英語以及中文意思、用法一起貼出來,讓大家一起來學(xué)習(xí)。

2022-01-02  分類:Python學(xué)堂  瀏覽:1834次


站長在線Python精講:Python中函數(shù)的返回值

導(dǎo)讀:歡迎你來到站長在線的站長學(xué)堂學(xué)習(xí)Python知識,本文學(xué)習(xí)的是《Python中函數(shù)的返回值》。本文的主要內(nèi)容有:函數(shù)的返回值的含義、函數(shù)設(shè)置返回值的作用、return語句位置與多條 return語句的總結(jié)。

2021-12-29  分類:Python學(xué)堂  瀏覽:1793次


站長在線零基礎(chǔ)Python完全自學(xué)教程22:在Python中函數(shù)的參數(shù)傳遞

歡迎你來到站長學(xué)堂,學(xué)習(xí)站長在線出品的在線課程《零基礎(chǔ) Python完全自學(xué)教程》今天給大家分享的是第22課《在Python中函數(shù)的參數(shù)傳遞》。本文是一個大課程分成了下面5節(jié)小課程:在Python函數(shù)中理解形式參數(shù)和實際參數(shù)、在Python函數(shù)中參數(shù)傳遞的位置參數(shù)詳解、在Python函數(shù)中的關(guān)鍵字參數(shù)詳解、在Python函數(shù)中的默認參數(shù)詳解、在Python函數(shù)中的可變參數(shù)詳解。

2021-12-26  分類:Python學(xué)堂  瀏覽:1583次