Python基礎入門教程18:再說循環(huán)—列表和循環(huán)的高級操作
來源:
奇酷教育 發(fā)表于:
在前面的課程中,我們已經(jīng)學習了循環(huán)和函數(shù)的基本操作,這節(jié)內容主要針對循環(huán)和函數(shù)在項目使用過程中的一些更加有使用價值的操作進行分析和
在前面的課程中,我們已經(jīng)學習了循環(huán)和函數(shù)的基本操作,這節(jié)內容主要針對循環(huán)和函數(shù)在項目使用過程中的一些更加有使用價值的操作進行分析和講解
本節(jié)內容:
循環(huán)部分
列表構建器
列表動態(tài)構建器
循環(huán)操作序列對象
循環(huán)迭代遍歷數(shù)據(jù)
函數(shù)部分
函數(shù)遞歸
參數(shù)使用函數(shù)
函數(shù)中返回函數(shù)
匿名函數(shù)
偏函數(shù)
1. 循環(huán)操作
1.1 列表構建器
常規(guī)情況下,我們定義列表的語法如下:

1.2 列表動態(tài)構建器
但是我們通過前面的學習已經(jīng)知道,這些數(shù)據(jù)都是加載到內存中的,如果列表中的數(shù)據(jù)量比較大的情況下,內存消耗是比較嚴重的
在某些情況下,我們只需要使用列表中的一部分數(shù)據(jù),后面的數(shù)據(jù)并不是特別關心,如:通過列表來記錄一個符合某種規(guī)則的序列,每次我們只是關心下一個數(shù)據(jù),并不關心后面的N條數(shù)據(jù),應該怎么做呢?比如我們需要一個奇數(shù)列表

1.3. 循環(huán)列表
常規(guī)循環(huán)列表的方式

如果此時,我想象其他語言一樣,在循環(huán)過程中操作當前正在循環(huán)的元素的下標呢?
可以通過enumerate()函數(shù)對列表進行處理

1.4. 循環(huán)字典
因為列表、元組、集合中存儲的都是一個個獨立的元素,對列表的循環(huán)比較簡單
那么如果循環(huán)key:value鍵值對的字典應該怎么做呢
我們回顧一下字典中常用的一些函數(shù)
dict.items();返回字典中的每一組key:value數(shù)據(jù)
dict.keys();返回字典中的所有的key組成的集合
dict.values();返回字典中所有的value組成的列表

1.5. 循環(huán)判斷
最后我們需要補充一個非常重要的東西,通常情況,我們對于python中的序列對象可以進行循環(huán)處理,那么首先需要判斷一下我們要處理的數(shù)據(jù)是不是循環(huán),如果不是循環(huán)就會出現(xiàn)錯誤

我們看到,對于非序列對象,出現(xiàn)對象不是iterable的錯誤提示
iterable是Python中的迭代對象,序列對象一般都是迭代對象
那怎么判斷一個對象是否迭代對象呢?

那這樣就好辦了,如果我們要遍歷指定的數(shù)據(jù),首先判斷是否是迭代對象,是迭代對象我們再進行迭代操作就可以了
本節(jié)內容主要講解了實際項目中經(jīng)常用到的序列對象列表的高級使用方式,以及使用for循環(huán)進行序列對象循環(huán)遍歷過程中的幾種特殊的使用方式。下節(jié)內容,我們繼續(xù)說另一個學過的東東~函數(shù)的高級操作方式。
>>>更多VR/AR入門教程:VR入門