python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

迭代器

迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束.迭代器只能往前不會後退.

迭代器有兩個基本方法:iter()和next()

字符串,列表或元組對象都可用於創建迭代器.

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

迭代器對象可以使用常規for語句進行遍歷:

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

生成器:

使用了yield的函數被稱為生成器(generator)

跟普通函數不同的是,生成器是一個返回迭代器的函數,只能用於迭代操作,更簡單點理解生成器就是一個迭代器.

在調用生成器運行的過程中,每次遇到yield時,函數會暫停,並保存當前所有的運行信息.

返回yield的值.並在下一次執行next()方法時,從當前位置繼續運行.

用yield實現斐波那契數列:

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

函數

讓函數調用可變個數的參數.這些參數被包裝進一個元組中.在這些可變個數的參數之前,可以有零個到多個普通的參數.

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

python3 數據結構

list方法:

list.append(x):把一個元素添加到列表的結尾.相當於a[len(a):]=x

list.extend(L):通過添加指定列表的所有元素來擴充列表,相當於a[len(a):]=L

list.insert(i,x):在指定位置添加一個元素.第一個參數是準備到其前面的那個元素的索引.例如,

a.insert(0,x)會插入到整個整個列表之前,而a.insert(len(a),x)相當於a.append(x)

list.remove(x):刪除列表中值為x的第一個元素.如果沒有這樣的元素就返回一個錯誤

list.pop([i]):從列表的指定位置刪除元素,並將其返回.如果沒有指定索引.a.pop()返回最後一個元素.元素隨即從列表中刪除. 方法中i兩邊的[]表示這個參數是可選的.而不是要輸入一對方括號.

list.clear() :移除列表中的所有元素,等於 del a[:]

list.count(x):返回x 在列表中出現的次數.

list.sort():對列表中的元素進行排序.

list.reverse():顛倒列表中的元素.

list.copy():返回列表的淺複製.相當於a[:]

list.index(x):返回第一個x元素的索引.

將列表當做堆棧使用

列表方法使得列表可以很方便的作為一個堆棧來使用,堆棧作為特定的數據結構,最先進入的元素最後一個被釋放.(後進先出)

用append()方法可以把一個元素添加到堆棧頂.用不指定索引的pop()方法可以把一個元素從堆棧頂釋放出來

例如:

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

將列表當做隊列使用:

也可以把列表當做隊列用,只是在隊列裡第一個加入的元素,第一個取出來.但是拿列表用作這樣的目的效率不高.在列表的最後添加或者彈出元素速度快,然而在列表裡插入或者從頭部彈出速度卻不快(因為所有其他元素都得一個一個移動)

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

deque(雙向隊列的意思)

列表推導:

將列表中的每個元素都乘以5

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

還可以這樣操作:

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

我們可以使用if語句作為過濾器:

python攻城之路——打好基礎是關鍵(小學生都看得懂的教程)

以下是一些關於循環和其他技巧的演示:

關注小編不迷路!下節我們繼續,每天堅持學習一點點.


分享到:


相關文章: