"""
迭代器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 ...