迭代器
迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束.迭代器只能往前不會後退.
迭代器有兩個基本方法:iter()和next()
字符串,列表或元組對象都可用於創建迭代器.
迭代器對象可以使用常規for語句進行遍歷:
生成器:
使用了yield的函數被稱為生成器(generator)
跟普通函數不同的是,生成器是一個返回迭代器的函數,只能用於迭代操作,更簡單點理解生成器就是一個迭代器.
在調用生成器運行的過程中,每次遇到yield時,函數會暫停,並保存當前所有的運行信息.
返回yield的值.並在下一次執行next()方法時,從當前位置繼續運行.
用yield實現斐波那契數列:
函數
讓函數調用可變個數的參數.這些參數被包裝進一個元組中.在這些可變個數的參數之前,可以有零個到多個普通的參數.
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()方法可以把一個元素從堆棧頂釋放出來
例如:
將列表當做隊列使用:
也可以把列表當做隊列用,只是在隊列裡第一個加入的元素,第一個取出來.但是拿列表用作這樣的目的效率不高.在列表的最後添加或者彈出元素速度快,然而在列表裡插入或者從頭部彈出速度卻不快(因為所有其他元素都得一個一個移動)
deque(雙向隊列的意思)
列表推導:
將列表中的每個元素都乘以5
還可以這樣操作:
我們可以使用if語句作為過濾器:
以下是一些關於循環和其他技巧的演示:
關注小編不迷路!下節我們繼續,每天堅持學習一點點.
閱讀更多 極客饕餮 的文章