python學習手冊筆記 20 迭代和解析

2021-09-25 10:15:11 字數 967 閱讀 1456

00.由於python程式設計中的一種常見任務,python最終產生了一種新的表示式——列表解析,它甚至比我們前面學習的工具更靈活。簡而言之,列表解析把任一乙個表示式而不是乙個函式應用於乙個迭代物件中的元素。

01.列表解析在乙個序列的值上應用乙個任一表示式,將其結果收集到乙個新的列表中並返回。

02.實現**的精簡於**的可讀性相比,就沒有那麼重要了。

03.python3.0中的map和列表解析的最大區別式:map式乙個迭代器,根據需求產生結果:為了同樣地實現記憶體節省,列表解析必須編碼為生成器表示式。

04.生成器函式和常規函式一樣,並且,實際上也是用常規的def語句編寫的。

狀態掛起:和返回乙個值並退出的常規函式不同,生成器函式自動在生成值得時候掛起並繼續函式得執行。由於生成器函式在掛起時儲存得狀態包含他們得整個本地作用域,當函式恢復時,他們得本地變數保持了資訊並使器可用。

05.生成器函式和常規函式之間得主要得**不同指出在於,生成器yields乙個值,而不是返回乙個值。yield語句掛起該函式並向呼叫者傳送回乙個值,但是,保留足夠的狀態以使得函式能夠從它離開的地方繼續。

06.生成器函式協議中增加了乙個send的方法。send方法生成一系列結果的下乙個元素,這一點就像__next__方法一樣,但使它也提供了一種呼叫者於生成器之間進行通訊的方法,從而能夠影響它的操作。

07.集合解析和字典解析:

*對於集合,新的常量形式等同於set([1,3,2]),並且新的集合解析語法就像使生成器表示式set(f(x) for x in s if p(x)),其中f(x)是乙個任意的表示式

*對於字典,新的字典解析語法像dict(zip(keys, vals)形式一樣工作,並且像生成器表示式dict((x, f(x)) for x in items)一樣工作。

08.和列表解析一樣,集合解析和字典解析也可以在任何型別的可迭代物件上迭代——列表、字串、檔案、範圍以及支援迭代協議的任何其他型別。

09.

Python學習筆記 Python之索引迭代

1.什麼是索引迭代一般情況下,只有迭代的是取出元素的本身,而非元素的索引,但是對於有序集合,其元素是有索引的 那什麼是有序集合呢?list tuple str set,並無序集合有key value對 dict 怎麼獲取索引呢?使用enumerate 函式 l adam lisa bart paul...

python學習手冊筆記 20 迭代和解析

00.由於python程式設計中的一種常見任務,python最終產生了一種新的表示式 列表解析,它甚至比我們前面學習的工具更靈活。簡而言之,列表解析把任一乙個表示式而不是乙個函式應用於乙個迭代物件中的元素。01.列表解析在乙個序列的值上應用乙個任一表示式,將其結果收集到乙個新的列表中並返回。02.實...

python學習手冊學習筆記(一)

第三章 如何執行檔案 避免命令列執行時閃退 加input 到最後 匯入 import 從本質上講,就是載入另乙個檔案。把其中乙個模組檔案設計成主檔案。屬性 繫結在特定物件上的變數名 比如乙個模組 讀取模組檔案的變數名 import from reload。從模組檔案中獲得變數名 from myfil...