Python 入門系列 —— 15. List 四種遍歷方式及推導式介紹

使用 for 遍歷 List

能夠使用 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

使用 index 遍歷 List

除了直接使用 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

使用 while 遍歷 List

使用 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

使用 推導式 遍歷 List

使用 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 中生成一個新的 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

語法格式中的 condition,用於保留枚舉項判斷爲 true 的元素,非 true 就忽略了,code

iterable

iterable 表示可迭代的集合,如: list,tuple,set 等等。

expression

這裏的 expression 就是當前的迭代變量值,在這個迭代項準備送入到新集合前,能夠對它進行操控,好比下面的例子:

newlist = [x.upper() for x in fruits]
譯文連接: https://www.w3schools.com/pyt...

更多高質量乾貨:參見個人 GitHub: python

相關文章
相關標籤/搜索