Python基礎(chǔ)入門教程18:再說循環(huán)—列表和循環(huán)的高級(jí)操作
來源:
奇酷教育 發(fā)表于:
在前面的課程中,我們已經(jīng)學(xué)習(xí)了循環(huán)和函數(shù)的基本操作,這節(jié)內(nèi)容主要針對(duì)循環(huán)和函數(shù)在項(xiàng)目使用過程中的一些更加有使用價(jià)值的操作進(jìn)行分析和
在前面的課程中,我們已經(jīng)學(xué)習(xí)了循環(huán)和函數(shù)的基本操作,這節(jié)內(nèi)容主要針對(duì)循環(huán)和函數(shù)在項(xiàng)目使用過程中的一些更加有使用價(jià)值的操作進(jìn)行分析和講解
本節(jié)內(nèi)容:
循環(huán)部分
列表構(gòu)建器
列表動(dòng)態(tài)構(gòu)建器
循環(huán)操作序列對(duì)象
循環(huán)迭代遍歷數(shù)據(jù)
函數(shù)部分
函數(shù)遞歸
參數(shù)使用函數(shù)
函數(shù)中返回函數(shù)
匿名函數(shù)
偏函數(shù)
1. 循環(huán)操作
1.1 列表構(gòu)建器
常規(guī)情況下,我們定義列表的語法如下:
1.2 列表動(dòng)態(tài)構(gòu)建器
但是我們通過前面的學(xué)習(xí)已經(jīng)知道,這些數(shù)據(jù)都是加載到內(nèi)存中的,如果列表中的數(shù)據(jù)量比較大的情況下,內(nèi)存消耗是比較嚴(yán)重的
在某些情況下,我們只需要使用列表中的一部分?jǐn)?shù)據(jù),后面的數(shù)據(jù)并不是特別關(guān)心,如:通過列表來記錄一個(gè)符合某種規(guī)則的序列,每次我們只是關(guān)心下一個(gè)數(shù)據(jù),并不關(guān)心后面的N條數(shù)據(jù),應(yīng)該怎么做呢?比如我們需要一個(gè)奇數(shù)列表
1.3. 循環(huán)列表
常規(guī)循環(huán)列表的方式
如果此時(shí),我想象其他語言一樣,在循環(huán)過程中操作當(dāng)前正在循環(huán)的元素的下標(biāo)呢?
可以通過enumerate()函數(shù)對(duì)列表進(jìn)行處理
1.4. 循環(huán)字典
因?yàn)榱斜?、元組、集合中存儲(chǔ)的都是一個(gè)個(gè)獨(dú)立的元素,對(duì)列表的循環(huán)比較簡(jiǎn)單
那么如果循環(huán)key:value鍵值對(duì)的字典應(yīng)該怎么做呢
我們回顧一下字典中常用的一些函數(shù)
dict.items();返回字典中的每一組key:value數(shù)據(jù)
dict.keys();返回字典中的所有的key組成的集合
dict.values();返回字典中所有的value組成的列表
1.5. 循環(huán)判斷
最后我們需要補(bǔ)充一個(gè)非常重要的東西,通常情況,我們對(duì)于python中的序列對(duì)象可以進(jìn)行循環(huán)處理,那么首先需要判斷一下我們要處理的數(shù)據(jù)是不是循環(huán),如果不是循環(huán)就會(huì)出現(xiàn)錯(cuò)誤
我們看到,對(duì)于非序列對(duì)象,出現(xiàn)對(duì)象不是iterable的錯(cuò)誤提示
iterable是Python中的迭代對(duì)象,序列對(duì)象一般都是迭代對(duì)象
那怎么判斷一個(gè)對(duì)象是否迭代對(duì)象呢?
那這樣就好辦了,如果我們要遍歷指定的數(shù)據(jù),首先判斷是否是迭代對(duì)象,是迭代對(duì)象我們?cè)龠M(jìn)行迭代操作就可以了
本節(jié)內(nèi)容主要講解了實(shí)際項(xiàng)目中經(jīng)常用到的序列對(duì)象列表的高級(jí)使用方式,以及使用for循環(huán)進(jìn)行序列對(duì)象循環(huán)遍歷過程中的幾種特殊的使用方式。下節(jié)內(nèi)容,我們繼續(xù)說另一個(gè)學(xué)過的東東~函數(shù)的高級(jí)操作方式。
>>>更多VR/AR入門教程:VR入門