Skip to content

AI STUDIO Taiwan

台 灣 人 工 智 慧 與 資 料 科 學 研 究 室

  • About 關於本站
  • 專欄列表
  • Taiwan NLP.台灣自然語言處理與人工智慧交流社( 1.8萬位成員)
  • 關於 Taiwan NLP 社群

【Python 基礎教學】04 迴圈 for loop

Posted on 2020 年 4 月 6 日2023 年 7 月 18 日 By 楊 明翰 在〈【Python 基礎教學】04 迴圈 for loop〉中尚無留言
Python 入門
Print Friendly, PDF & Email

內容目錄

  • for i in … 迴圈的用法
  • range函式
  • len函式

for i in … 迴圈的用法

在常見的程式語言中,要進行重複性的,或是對列表做一些搜索過濾整個資料的動作,都會需要用迴圈for loop 這個語法。例如重複三遍的輸出Hello world:

Python
print("Hello world")
print("Hello world")
print("Hello world")

會直接寫成

Python
for i in range(3):
    print("Hello world")

從上面的範例可知,利用for迴圈可以直接指定反覆執行的程式的次數,而不需要重複貼上程式碼。這樣能增加程式的可維護性和可讀性。在Python中,for這個保留字會搭配in這個保留字使用,冒號後縮排的內容就是迴圈的內部區塊,再舉一個例子:走訪一個[‘a’,’b’,’c’]這樣的列表:

Python
x = ['a','b','c']
for xi in x:
    print(xi)

則會得到

a
b
c

range函式

如果想要類似C語言的風格,使用到索引值的話可以搭配range函數,它具有可迭代的(iterable)的性質:

range(start, stop, step)

其中參start為起始值
stop為終值
step為本次和上次的間格值

stop一定要有,start和step可有可無

來產生索引值。

len函式

以及長度計算的len函數取得列表長度:

len(sequence)

上述例子就會變成

x = ['a','b','c']
for i in range (len(x)):
    print(x[i])

這裡的作法和上述最大差異在於,原本in的對象是x,所以每一次迭代拿到的值就是列表在該位置的內容,而這裡迭代的對象變成range函數每次迭代取的值,也就是索引號(0,1,2…n-1) 本身,所以變數i的內容是索引值。而range (len(x))則是把len(x)得到的x的長度傳遞給range函數而已。因此可以搭配列表的存取以x[i]的形式取值。如果初學不熟悉iterable的意思沒關係,可以先習得上面兩種慣用法即可。

通常大多數場合只需要依序用迴圈存取列表的值出來處理,請使用第一種方式比較簡潔明瞭。但如果是需要使用類似i+1,i-1這種動用到索引取前後關係的計算,會比較適合用第二種方式,程式寫起來會比較能對應到數學公式,對於後續維護程式會比較方便。此外,如果想要直接用iterable的特性,但又同時需要索引值可以用enumerate函數:

enumerate(sequence, start=0)

其中參數sequence為可迭代物件,start為起始值(可不傳遞)

上述例子改為:

Python
x = ['a','b','c']
print("i","xi")
for i , xi in enumerate(x):
    print(i,xi)

輸出為:

i xi
0 a
1 b
2 c

有時後,我們會需要同時遍歷一組列表,這時候可以用zip函數打包起來,變成元組(tuple),而全部會變成由元組組成的列表,再同時遍歷後解包,例如:

Python
x =['a','b','c']
y= ['x','y','z']
for x,y in zip(x,y):
    print(x,y)

則會得到

a x
b y
c z

以上就是for迴圈與相關的函數一起使用的方式。

✔ 幫我們按個喜歡和分享,支持我們

平均分數 0 / 5. 給分人數 0

尚未有評分,請幫我評分歐

楊 明翰
楊 明翰

是一名八年級中段班的創業者與資料科學家

“With belief and action, we change the world.”

憑藉信念與行動,我們改變世界💪

更多關於站長

本文允許重製、散布、傳輸以及修改,但不得為商業目的之使用

使用時必須註明出處自:楊明翰 , 台灣人工智慧與資料科學研究室 https://aistudio.tw

文章導覽

❮ Previous Post: 【Python 基礎教學】03 變數與指派敘述
Next Post: 【Python 基礎教學】05 自定義函式 ❯

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

更多AI相關資訊,歡迎加入站長的粉絲團

Facebook

閱讀視覺風格選擇


實驗袍白 / 適合資料分析師、科學家
終端機黑 / 適合黑客、電腦工程師

專欄列表

  • Artificial intelligence 人工智慧 (3)
    • HPC 高效能運算 (1)
    • PyTorch (1)
    • 從頭實作AI (1)
  • Backend 後端開發 (1)
  • C++ 應用 (2)
  • Community 社群介紹 (1)
  • Data Engineering 資料工程與訊號分析 (1)
  • Java 開發與教學 (2)
  • Linux 入門 (5)
  • NLP/NLU 自然語言處理與理解 (4)
  • Philosophy 站長哲學 (5)
  • Python 開發與教學 (7)
    • Python Flask 網站開發 (1)
    • Python 中階 (1)
    • Python 入門 (5)
  • Slides會議簡報 (12)
  • Start-up 創新創業 (7)
  • 機器學習數學基礎 (1)
  • 私人筆記手稿 (4)
  • 線上教學目錄 (4)

近期發布

  • 【Linux 應用】使用Zenity零成本開發的多開瀏覽器管理器
  • 【Start-up 創新創業】如何選擇創業題目
  • 【自然語言處理與理解】Llama-2大語言模型CPU版本使用
  • 【個人演講】AI EXPO 2023 ChatGPT以及LLM
  • 【自訓課程】NGS 次世代基因體資料科學 課程

討論

尚無留言可供顯示。

年份彙整

  • 2023 (9)
  • 2022 (4)
  • 2021 (6)
  • 2020 (14)
  • 2019 (8)
  • 2018 (10)
  • 2017 (2)
  • 2016 (4)
  • 2015 (2)

ChatGPT GRU HPC llama-cpp LLM Log4J LSTM Node.js SMO SVM Zenity 人工智慧 人格特質 出資 創新 創業 多語言 多開瀏覽器 大語言模型 感知機 戰鬥 技術 技術合夥 技術股 撰寫程式 新創 新手 新聞輿情 最佳化 機器學習 死亡 現代C++ 系統日誌 股東權益 能力 證明 變數 負債 資本 資產負債表 長短期記憶 霍普菲爾 類神經網 類神經網路 風險

調整字型大小

A 縮小字型大小。 A 重設字型大小。 A 放大字型大小。

Copyright © 2023 AI STUDIO Taiwan.
聯絡我們 : whuang022@gmail.com
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Theme: Oceanly by ScriptsTown