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

列表(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按鈕

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: