迭代就像是遍歷,迭代只能乙個個往下獲取,不能往上獲取,需使用iter函式。
name是乙個包含元素cc,dd,ee的迭代器
>>> name=iter(['cc','dd','ee'])
#訪問迭代器中的元素需使用next方法
>>> print(name.__next__())
cc>>> print(name.__next__())
dd>>> print(name.__next__())
ee################################生成器#######################
#在函式中加入yield那麼函式就變成乙個生成器,例項:
def take_money(num):
while num>0:
num -= 10
yield "你拿了10哦。"
print("還可以拿啦靚仔!")#當拿完則不執行此行**
package = take_money(40)#給num值40
print(package.__next__())#通過next方法訪問,輸出為 "你拿了10哦。",當下一次執行next時才會輸出"還可以拿啦靚仔!"
print(package.__next__())#輸出"還可以拿啦靚仔!","你拿了10哦。"
print("no!")#中間可以跳出來執行這倆句**,有點中斷的味道,輸出"no"
print("no!")#輸出"no"
print(package.__next__())#"還可以拿啦靚仔!","你拿了10哦。"
print("ok")
Python生成器與迭代器
生成器只有在用的時候會出現在記憶體中,對比列表全部存在記憶體中,減少了記憶體占用 next 函式 依次取生成器的值 s x 2 for x in range 1000 中括號是列表解析,小括號表示生成一系列值,就是生成器 s at 0x7fa20aa8b048 print next s 用next ...
python 迭代器與生成器
迭代器和生成器 print 1 in 1,2,3 print 1 not in 1,2,3 print 4 in print 4 not in 1,2,3 print x not in dlkjfxfei 可迭代物件 iterable 可以被next 函式呼叫並不斷返回下乙個值 知道沒有資料時丟擲s...
Python 迭代器與生成器
一 迭代器 理解迭代器需要搞清楚容器 container 迭代器協議 可迭代物件 iterable 迭代器 iterator 生成器 generator 1 容器 container 容器是一種把多個元素組織在一起的資料結構,容器中的元素可以逐個地迭代獲取,可以用in,not in關鍵字判斷元素是否...