Python For 循環:精通迭代的簡明指南

Python For 循環:精通迭代的簡明指南

編程語言中最有趣的概念之一是循環。想像一下,你面臨著一項任務。它簡單但重複,就像從 1 數到 100。現在,您可以手動執行此操作,一次一個數字。但這會很耗時,而且效率不高。這就是編程中的循環出現的地方。

循環是一種控制結構,允許您重複一組指令,直到滿足特定條件。條件可以是任何東西:一定數量的重複、特定的數據狀態,甚至是外部事件。Python For 循環是一種特殊的循環,當您知道循環的確切重複次數時使用。

Python For 循環:精通迭代的簡明指南

您在代碼中使用for 循環來簡化迭代序列或元素集合的過程。這可以是列表、字符串、字典、集合或Python中的任何其他可迭代對象。

通過使用 for 循環,您可以為序列中的每個項目執行一個代碼塊。例如,如果您需要打印列表中的所有元素,而不是為每個項目編寫打印語句,您可以只使用 for 循環。這使您的代碼更高效、更易讀,並且更不容易出錯。

在開始編寫 for 循環之前,您必須了解基礎知識。在本文中,我們將了解 Python for 循環的語法、使用它們時使用的術語,以及如何在不同的場景中使用它們。

讓我們開始吧!

目錄

Python For 循環的語法是什麼?

在 Python 中,for循環用於迭代可迭代對象。for循環的基本語法如下:

for variable in iterable:
    # code to execute for each item

在此語法中,“變量”是您為迭代中的當前項選擇的名稱。“可迭代”是您要迭代的項目的序列或集合。

循環內的代碼(此處表示為“# code to execute for each item”)是您要對可迭代對像中的每個項目執行的操作。

下面的示例顯示了 Python 中的基本 for 循環:

cities = ['New York', 'London', 'Paris', 'Tokyo']

for city in cities:
    print(city)

在上面的示例中,“city”是變量,“cities”是可迭代對象。循環內的代碼是 print(city),它打印列表中的每個城市。

Python For 循環:精通迭代的簡明指南

Python 可迭代對象和可迭代對象

使用循環時要理解的另一個重要概念是可迭代對象和可迭代對象的概念。

在 Python 中,可迭代對像是任何能夠一次返回其元素的對象。這意味著您可以使用類似循環的方法來傳遞可迭代對象。

您將遇到的可迭代對象的常見示例包括列表字符串元組字典

例如,當您創建像 [1, 2, 3, 4, 5] 這樣的數字列表時,您可以遍歷列表中的每個數字。每個數字都是可迭代列表的一個元素。

同樣,如果您有一個字符串,例如“hello”,您可以遍歷字符串中的每個字符。在這種情況下,字符串是可迭代的,每個字符('h'、'e'、'l'、'l'、'o')都是可迭代的元素。

下面,您將找到一些將for循環與不同的可迭代對象結合使用的示例。

1. 使用 Python For 循環遍歷列表

在 Python 中,列表是一種數據結構,可以保存有序的項目集合,這意味著您可以存儲各種對象——整數、浮點數、字符串,甚至其他列表或複雜對象。

要使用 for 循環遍歷列表可以使用以下代碼:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

此代碼將打印水果列表中的所有水果,如下所示:

Python For 循環:精通迭代的簡明指南

2. 使用 Python For 循環遍曆元組

Python 中的元組是一組有序且不可變的對象。這意味著,一旦創建了元組,就無法更改其內容。

要使用 for 循環查看元組,您可以使用以下 Python 代碼:

colors = ('red', 'green', 'blue')

for color in colors:
    print(color)

for 循環將遍曆元組的所有元素並將它們打印到屏幕,如下圖所示:

Python For 循環:精通迭代的簡明指南

3. 使用 Python For 循環遍歷字典

Python 中的字典是存儲為鍵值的無序數據集合。這也稱為鍵值對。

要使用 for 循環遍歷字典,您可以使用以下 Python 代碼:

student = {'name': 'John', 'age': 24, 'course': 'Computer Science'}

for key, value in student.items():
    print(key, value)

for 循環將遍歷字典中的所有鍵值對,並將它們打印到屏幕上,如下所示:

4. 使用 Python For 循環遍歷字符串

Python 中的字符串是字符序列。字符串在 Python 中用於記錄文本信息以及任意字節集合(例如圖像文件的內容)。

要使用 for 循環遍歷 Python 中的字符串,您可以使用下面給出的代碼:

greeting = "Hello, world!"
for char in greeting:
    print(char)

for 循環會將字符串中的每個字母打印到屏幕上,如下所示:

Python For 循環:精通迭代的簡明指南

上面的例子展示了在遍歷不同數據類型時循環是如何發揮作用的。您還可以通過在循環中使用函數和語句來控制 for 循環的功能。

在下一節中,讓我們看一下經常與for 循環一起使用的一些關鍵函數和語句。

Python For 循環中的關鍵函數和語句

當您使用 for 循環時,函數和語句可以提高您對循環的控制並使您的代碼更高效且更易於閱讀。

我們在下面列出了 for 循環中使用的關鍵函數和語句:

1. 如何在 Python For 循環中使用 Range() 函數

range ()函數允許您生成一個數字序列。一般用於迭代指定次數。

基本語法是:

for i in range(start, stop, step):
  # your code here
  • start:可選參數,指定起點;默認情況下,它是 0。

  • stop:定義端點(獨占)的必需參數。

  • step:可選參數,表示增量,默認值為1。

為了讓您清楚地了解 range 函數,請看下面的示例,我們使用帶有 for 循環的 range 函數打印從 1 到 5 的數字:

for i in range(5):
  print(i)

Python For 循環:精通迭代的簡明指南

2. 如何在 Python For 循環中使用 Break 語句

break語句允許您在滿足特定條件時退出 for 循環。當循環體中到達break關鍵字時,循環立即停止。

以下是帶有 break 語句的 for 循環示例:

for i in range(10):
  if i == 5:
    break
  print(i)

Python For 循環:精通迭代的簡明指南

這段代碼是一個從 0 到 9 的循環。如果當前數字是 5,它會立即使用 break 停止循環。因此,它只打印從 0 到 4 的數字。當它達到 5 時,它停止並且不再打印任何數字。

3. 如何在 Python For 循環中使用 Continue 語句

continue語句用於跳過當前迭代並跳轉到下一個迭代。

以下是帶有 for 循環的 continue 語句的示例:

for i in range(5):
  if i == 3:
    continue
  print(i)

循環從 0 迭代到 4。如果當前數字是 3,我們將在使用continue完成該迭代的其餘循環之前跳過它。這意味著您打印從 0 到 4 的所有數字,但 3 除外。

Python For 循環:精通迭代的簡明指南

請注意,在上圖中,數字 3 由於continue語句而被跳過。

4. 如何使用 Pass 語句

pass語句是一個佔位符,有意不做任何事情。當您需要循環結構但還沒有任何特定代碼可以在其中執行時,可以使用它。

以下是帶有 for 循環的pass語句示例:

for i in range(5):
  pass

這個循環不會輸出任何東西,因為pass語句是未來代碼的佔位符。循環是靈活的,可以進行調整以適應任何用例,例如將循環與else代碼塊一起使用。

如果您想親身實踐 for 循環,請觀看以下視頻:

當您開始編寫 for 循環時,您最終會希望跳入 for 循環中的高級技術。了解高級技術將使您能夠為幾乎所有用例編寫更高效的 for 循環。

讓我們在下一節中看看 for 循環中的一些高級技術!

3 使用 Python For 循環的高級技術

作為 Python 程序員,您經常需要處理項目的集合,例如列表或字符串,並對每個項目執行操作。要執行這些操作,您需要對 for 循環中的高級技術有基本的了解。

在本節中,我們將探索在 Python 中使用 for 循環的一些高級技術。我們將介紹嵌套循環、列表理解和 enumerate() 函數。

1. 如何使用嵌套的 Python for 循環

有時您需要遍歷多個維度的數據,例如矩陣或列表列表。在這種情況下,您可以使用嵌套循環,即一個循環套在另一個循環中。嵌套循環允許您有效地遍歷多個維度的數據。

以下是嵌套 for 循環的示例:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

在此代碼中,我們使用嵌套循環打印矩陣中的每個數字。外循環遍歷每一行,內循環遍歷該行中的每個數字。

打印每一行後,我們開始新的一行。簡而言之,我們正在逐行打印整個矩陣。

Python For 循環:精通迭代的簡明指南

2. 如何使用 Python for 循環進行列表理解

如果您要基於現有列表或其他可迭代對象創建新列表,則可以使用列表理解。它允許您通過將表達式應用於可迭代對像中的每個項目來創建一個新列表,所有這些都在一行代碼中完成。

列表理解的一般語法是:

[expression for variable in iterable if condition]

假設您想為一系列數字創建一個正方形列表,您可以使用以下列表推導式:

squares = [x ** 2 for x in range(1, 11)]
print(squares)

此代碼使用單行代碼創建數字 1 到 10 的正方形列表。

Python For 循環:精通迭代的簡明指南

3. Enumerate()函數的使用方法

當您循環遍歷列表或字符串並且需要知道當前項目的索引時,您可以使用 enumerate () 函數。它返回每個項目及其索引,從而更容易處理項目的位置。

以下是帶有 for 循環的枚舉函數示例:

fruits = ['apple', 'banana', 'cherry']

for idx, fruit in enumerate(fruits):
    print(f"{idx}: {fruit}")

在此代碼中,我們循環遍歷水果列表,但我們還使用枚舉函數跟踪每個項目的索引,該函數返回列表中的每個項目及其索引。

因此,對於循環的每次迭代,idx 是索引,fruit 是項目。然後,我們打印索引,然後打印水果。這給了我們一個編號的水果列表。

Python For 循環:精通迭代的簡明指南

現在您已經探索了 for 循環中的高級技術,您可以開始了解循環在處理不同場景時的靈活性。但是,與任何工具一樣,了解何時使用它以及何時可能更適合使用其他工具至關重要。

考慮到這一點,讓我們將重點轉移到比較 for 循環和 while 循環。這將幫助您決定哪種類型的循環最適合您的特定編碼情況。

For 循環與 While 循環

在 Python 中,forwhile 循環有不同的用途。

For循環用於迭代序列,如列表或元組,並且它們具有確定的迭代範圍。

另一方面,只要某個條件保持為真,While 循環就會繼續運行。

# For loop example
for item in sequence:
    # Code to execute for each item in sequence

# While loop example
while condition:
    # Code to execute while condition is true

假設您要打印從 0 開始的前 5 個數字。

使用 for 循環,你會寫:

for i in range(5):
    print(i)

當您事先知道確切的迭代次數時,for 循環很簡單,例如在本例中您知道要打印 5 個數字。

另一方面,使用 while 循環,你會寫:

i = 0
while i < 5:
    print(i)
    i += 1

在 while 循環中,您從初始條件 (i < 5) 開始。循環一直運行直到條件不再為真。您必須在循環體中遞增i ,否則它將永遠運行下去。

Python For 循環:精通迭代的簡明指南

對於此任務,for 循環更簡單且不易出錯。但是 while 循環為事先不知道迭代次數的情況提供了更大的靈活性。

例如,考慮這樣一種情況,您提示用戶輸入,直到他們輸入有效數字。您不知道需要問多少次,因此在這種情況下使用 while 循環是合適的:

while True:
    user_input = input("Please enter a number: ")
    if user_input.isdigit():
        print("Thank you!")
        break
    else:
        print("Invalid input. Try again.")

Python For 循環:精通迭代的簡明指南

在此代碼中,while 循環繼續提示用戶輸入,直到他們輸入有效數字。isdigit() 函數檢查輸入是否為數字。

如果是,則打印一條消息並使用 break 語句退出循環。如果不是數字,則會打印一條錯誤消息並繼續循環。

最後的想法

For 循環是編程工具箱中必不可少的工具。它們提供了一種有效執行重複性任務的方法。通過理解 for 循環,您將獲得僅用幾行代碼即可操作數據、自動執行任務和解決複雜問題的能力。

通過掌握 for 循環,您可以使您的代碼更具可讀性、更有效且更 Pythonic。練習是熟悉這種結構的關鍵。有了從本指南中獲得的知識,您就可以使用 Python for 循環應對各種編程挑戰!


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的