能夠使用 for 來遍歷 List,代碼以下:python
thislist = ["apple", "banana", "cherry"] for x in thislist: print(x) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py apple banana cherry
除了直接使用 for 遍歷,還能夠組合 range() + len()
使用下標進行遍歷,以下代碼所示:git
thislist = ["apple", "banana", "cherry"] for i in range(len(thislist)): print(thislist[i]) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py apple banana cherry
使用 len()
來判斷 list 的長度,而後從索引0 開始遍歷 list 中的每一項,不過要記得在遍歷時自增 index,以下代碼所示:github
thislist = ["apple", "banana", "cherry"] i = 0 while i < len(thislist): print(thislist[i]) i = i + 1 PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py apple banana cherry
使用 python 獨有的 推導式
直接快捷遍歷 List。express
thislist = ["apple", "banana", "cherry"] [print(x) for x in thislist] PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py apple banana cherry
當你想要從一個現有的 List 中生成一個新的 List,能夠使用 推導式
這種快捷語法。markdown
舉個例子:app
好比你有一個 fruits 列表,你想獲取全部以 a
開頭的水果名,若是沒有推導式的話,只能像下面這樣寫。oop
fruits = ["apple", "banana", "cherry", "kiwi", "mango"] newlist = [] for x in fruits: if "a" in x: newlist.append(x) print(newlist) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py ['apple', 'banana', 'mango']
要是用 推導式
的話,只要一行代碼就能夠搞定,以下代碼所示:ui
fruits = ["apple", "banana", "cherry", "kiwi", "mango"] newlist = [x for x in fruits if "a" in x] print(newlist) PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py ['apple', 'banana', 'mango']
語法格式以下: newlist = [expression for item in iterable if condition == True]
。能夠看出,返回值是一個新的 list,同時也不會破壞原有的list。this
語法格式中的 condition,用於保留枚舉項判斷爲 true 的元素,非 true 就忽略了,code
iterable 表示可迭代的集合,如: list,tuple,set 等等。
這裏的 expression
就是當前的迭代變量值,在這個迭代項準備送入到新集合前,能夠對它進行操控,好比下面的例子:
newlist = [x.upper() for x in fruits]
譯文連接: https://www.w3schools.com/pyt...
更多高質量乾貨:參見個人 GitHub: python