首頁 > 軟體

Python中列表(List) 的三種遍歷(序號和值)方法小結

2022-05-30 22:01:18

列表(List) 的三種遍歷(序號和值)方法

if __name__ == '__main__':
    list = ['html', 'js', 'css', 'python']
 
    for i in list:
        print(list.index(i), i)
 
    # 方法1
    print( '遍歷列表方法1:')
    for i in list:
        print ("序號:%s   值:%s" % (list.index(i) + 1, i))
 
    print ('n遍歷列表方法2:')
    # 方法2
    for i in range(len(list)):
        print ("序號:%s   值:%s" % (i + 1, list[i]))
 
    # 方法3
    print ('n遍歷列表方法3:')
    for i, val in enumerate(list):
        print ("序號:%s   值:%s" % (i + 1, val))
 
    # 方法3
    print( 'n遍歷列表方法3 (設定遍歷開始初始位置,只改變了起始序號):')
    for i, val in enumerate(list, 2):
        print ("序號:%s   值:%s" % (i + 1, val))

def printPoem():
    print("hello poem")
    name = '晏殊'
    poem = ''' 一曲新詞酒一杯,去年天氣舊亭臺。夕陽西下幾時回?無可奈何花落去,似曾相識燕歸來。小園香徑獨徘徊。'''
    print(name, poem)
 
printPoem()  
if __name__ == '__main__':
    print("hello poem")
    name = '晏殊'
    poem =  ''' 
    一曲新詞酒一杯,去年天氣舊亭臺。
    夕陽西下幾時回?無可奈何花落去,
    似曾相識燕歸來。小園香徑獨徘徊。 '''
 
    print(name, poem)
    print(name)
    print(poem)

if __name__ == '__main__':  這一句相當於c/c++中的main()函數。

Python遍歷整個列表

我們經常需要遍歷列表的所有元素,對每個元素執行相同的操作。

例如,在遊戲中,可能需要將每個介面元素平移相同的距離;對於包含數位的列表,可能需要對每個元素執行相同的統計運算;在網站中,可能需要顯示文章列表中的每個標題。需要對列表中的每個元素執行相同的操作時,可使用python中的for迴圈

建立一個魔術師名單並列印

magicians=['alice','david','carolina']
for magician in magicians:
    print(magician)

1.深入地研究迴圈

上述程式碼中,python會先讀取for迴圈的第一行程式碼:

這行程式碼讓python獲取列表magicians中第一個值’alice‘,並將其儲存到變數magician中

接下來讀取下一行程式碼:

讓python列印magician的值,然後返回for迴圈的第一行

python獲取列表中的下一個元素,儲存到變數magician中,再執行第二程式碼

依次類推

另外編寫for迴圈時,對於用於儲存列表中每個值的臨時變數,可以指定任何名稱

例如對於小貓列表、小狗列表和一般性列表,可以像下面這樣編寫for迴圈的第一行程式碼

for cat in cats:
for dog in dogs:
for item in list_of_items:

這些命名約定有助於明白for迴圈中將對每個元素執行的操作

使用單數還是複數式名稱,可以幫助判斷程式碼段處理的是單個列表元素還是整個列表

2.在for迴圈中執行更多的操作

在for迴圈中,可對列表每個元素進行任何操作

對每一位魔術師都列印一條訊息,指出他的表演很精彩

print(magician.title()+',that was a great trick!')

在for迴圈中,想包含多少行程式碼都行。

在程式碼行for magician in magicians後,每個縮排的的程式碼行都是迴圈的一部分,且針對列表中的每個值都執行一次。因此,可對列表中的每個值執行任意次數的操作

再新增一行程式碼,告訴每個魔術師,我們期待他的下一次表演

print("I can't wait to see your next trick,"+magician.title()+'.n')

上述程式碼的執行結果為

alice
Alice,that was a great trick!
I can't wait to see your next trick,Alice.
 
david
David,that was a great trick!
I can't wait to see your next trick,David.
 
carolina
Carolina,that was a great trick!
I can't wait to see your next trick,Carolina.

3.在for迴圈結束後執行一些操作

通常你需要提供總結性輸出或接著執行程式必須完成的其它任務。在for迴圈之後,沒有縮排的程式碼都只執行一次,而不會重複執行。

在下面列印出來一條向全體魔術師致謝的訊息,感謝他們的精彩表演

print("Thank you, everyone. That was a great magic show!")

執行結果

Thank you, everyone. That was a great magic show!

使用for迴圈處理資料是一種對資料集整體操作的不錯的方式。例如你可以使用for迴圈來初始化遊戲——遍歷所有角色,將每個角色都顯示到螢幕上:再在迴圈後面新增一個不縮排的程式碼塊。在螢幕上繪製所有角色後顯示一個play now按鈕

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com