今天為大家帶來的內容是: 非常詳細的基礎講解:Python for循環及基礎用法(較長建議收藏)
文章內容主要為大家介紹python for 循環,它常用於遍歷字符串、列表、元組、字典、集合等序列類型,逐個獲取序列中的各個元素,具有不錯的參考與學習意義,要是喜歡的話記得點贊轉發收藏關注不迷路哦!!!
for 循環的語法格式如下:
for 迭代變量 in 字符串|列表|元組|字典|集合:
代碼塊
格式中,迭代變量用於存放從序列類型變量中讀取出來的元素,所以一般不會在循環中對迭代變量手動賦值;代碼塊指的是具有相同縮進格式的多行代碼(和 while 一樣),由於和循環結構聯用,因此代碼塊又稱為循環體。
for 循環語句的執行流程如圖 1 所示。

圖 1 for 循環語句的執行流程圖
例如:

嗨嘍:正在學習python的小夥伴或者打算學習的,可以私信小編“07”領取資料!
運行結果為:
可以看到,使用 for 循環遍歷 “張三” 字符串的過程中,迭代變量 ch 先後被賦值為‘張'和‘三',並代入循環體中運行,只不過例子中的循環體比較簡單,只有一行輸出代碼。
for 進行數值循環
在使用 for 循環時,最基本的應用就是進行數值循環。比如說,想要實現從 1 到 100 的累加,可以執行如下代碼:
運行結果為:
上面代碼中,使用了 range() 函數,此函數是 Python 內置的函數,用於生成一系列連續的整數,多用於 for 循環中。
range() 函數的語法格式如下:
range(start,end,step)
此函數中各參數的含義如下:
總之,在使用 range() 函數時,如果只有一個參數,則表示指定的是 end;如果有兩個參數,則表示指定的是 start 和 end。
大家也可以根據需要寫代碼測試一下。
例如:
運行結果為:
在 Python 2.x 中,除提供 range() 函數外,還提供了一個 xrange() 函數,它可以解決 range() 函數不經意間耗掉所有可用內存的問題。但在 Python 3.x 中,已經將 xrange() 更名為 range() 函數,並刪除了老的 xrange() 函數。
for 循環遍歷列表和元組
在使用 for 循環遍歷列表和元組時,列表或元組有幾個元素,for 循環的循環體就執行幾次,針對每個元素執行一次,迭代變量會依次被賦值為元素的值。
如下代碼使用 for 循環遍歷元組:
運行結果為:
當然,也可按上面方法來遍歷列表。例如,下面程序要計算列表中所有數值元素的總和、平均值:
運行結果為:
上面程序使用 for 循環遍歷列表的元素,並對幾何元素進行判斷:只有當列表元素是數值(int、float)時,程序才會累加它們,這樣就可以計算出列表中數值元素的總和。
不僅如此,程序中還使用了 Python 的 isinstance() 函數,該函數用於判斷某個變量是否為指定類型的實例,其中前一個參數是要判斷的變量,後一個參數是類型。我們可以在 Python 的交互式解釋器中測試該函數的功能,例如如下運行過程:
從上面的運行過程可以看出,使用 isinstance() 函數判斷變量是否為指定類型非常方便、有效。
如果需要,for 循環也可根據索引來遍歷列表或元組,即只要讓迭代變量取 0 到列表長度的區間,就可通過該迭代變量訪問列表元素。例如如下程序:
運行結果為:
for 循環遍歷字典
使用 for 循環遍歷字典其實也是通過遍歷普通列表來實現的。前面在介紹字典時己經提到,字典包含了如下三個方法:
- items():返回字典中所有 key-value 對的列表。
- keys():返回字典中所有 key 的列表。
- values():返回字典中所有 value 的列表。
因此,如果要遍歷字典,完全可以先調用字典的上面三個方法之一來獲取字典的所有 key-value 對、所有 key、所有 value,再進行遍歷。如下程序示範了使用 for 循環來遍歷字典:
運行結果為:
上面程序通過三個 for 循環分別遍歷了字典的所有 key-value 對、所有 key、所有 value。尤其是通過字典的 items() 遍歷所有的 key-value 對時,由於 items() 方法返回的是字典中所有 key-value 對組成的列表,列表元素都是長度為 2 的元組,因此程序要聲明兩個變量來分別代表 key、value(這也是序列解包的應用)。
假如需要實現一個程序,用於統計列表中各元素出現的次數。由於我們並不清楚列表中包含多少個元素,因此考慮定義一個字典,以列表的元素為 key,該元素出現的次數為 value。程序如下:
運行結果為:
python循環-for循環綜合小案例
一、字符串的反轉
二、打印 1—100之間的偶數
因為上面的偶數需要包括100,所以range(1,101)
以上就是本文的全部內容啦!!!希望能夠幫助到大家。
最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“07”即可領取。
閱讀更多 程序員陳平安 的文章