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。
推薦閱讀:
- Python 高級變量之字典和字符串詳解
- Python中的枚舉函數enumerate()的具體用法
- Python輕量級搜索工具Whoosh的使用教程
- Python中的 enumerate和zip
- Python列表list的詳細用法介紹