python基礎 迭代器 與 生成器

2022-09-19 20:09:13 字數 1205 閱讀 7743

"""

迭代器1. 是一種訪問集合元素的方式。

2. 可以記住遍歷位置

3. 從集合的第乙個元素開始訪問,到最後乙個元素訪問完結束。不能後退。

4. 兩個基本方法:iter()和 next()。(也可以理解為有這兩個方法就是迭代器)

5. 字串、列表、元組 都可以用於建立迭代器

6. 支援用for進行遍歷

"""list1 = [2, 4, 543, "tina", 'yu', 32]

iter1 = iter(list1) # 建立迭代器物件

print(next(iter1)) # 4

print(next(iter1)) # 543

print(next(iter1)) # tina

str = "abcdefg"

iter2 = iter(str)

print(next(iter2)) # a

print(next(iter2)) # b

print(next(iter2)) # c

for alp in iter2:

print(alp, end=" ") # d e f g

生成器

"""

生成器1. 使用了yield的函式稱為生成器。

2. 是乙個返回迭代器物件的函式。只能用於迭代操作

3.在呼叫生成器執行的過程中,每次遇到 yield 時函式會暫停並儲存當前所有的執行資訊,返回 yield 的值,

並在下一次執行 next() 方法時從當前位置繼續執行。

4. 以下為yield斐波那契數列

"""import sys

def fibonacci(n): # 生成器函式 - 斐波那契

a, b, counter = 0, 1, 0

while true:

if (counter > n):

return

yield a

a, b = b, a + b

counter += 1

f = fibonacci(10) # f 是乙個迭代器,由生成器返回生成

while true:

try:

print(next(f), end=" ")

except stopiteration:

sys.exit()

python基礎 迭代器與生成器

迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。迭代器有兩個基本的方法 iter 和 next 字串,列表或元組物件都可用於建立迭代器。list 1 2,3 4 it iter list 建...

python基礎 迭代器與生成器

迭代是python最強大的功能之一,是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不能後退。迭代器有兩個基本的方法 iter 和 next list 1,2,3,4 it iter list 建立迭代器...

Python生成器與迭代器

生成器只有在用的時候會出現在記憶體中,對比列表全部存在記憶體中,減少了記憶體占用 next 函式 依次取生成器的值 s x 2 for x in range 1000 中括號是列表解析,小括號表示生成一系列值,就是生成器 s at 0x7fa20aa8b048 print next s 用next ...