python3 迭代器與生成器
python 生成器和迭代器有這篇就夠了
from collections import iterable, iterator
l =[1,
2,3,
4,5]
t =(
'a',
'b',
'c',
'd',
'e')
d =dict
(zip
(l, t)
)#判斷是否為可迭代物件
isinstance
(l, iterable)
#true
isinstance
(t, iterable)
#true
isinstance
(d, iterable)
#true
isinstance
(d, iterator)
#false
#建立迭代器
ls =[1
,2,3
,4]it =
iter
(ls)
isinstance
(it, iterable)
#ture
isinstance
(it, iterator)
#true
next
(it)#1.
..next
(it)
#4next
(it)
#stopiteration
#建立生成器的兩種方法
#1.把列表推導式的 改為 ()
g1 =
(x**
2for x in
range(10
))type
(g1)
#generator
#2.把函式的 return 改為 yeild
defg2
(n):
if n ==
0or n==1:
return n
yield g2(n-1)
+ g2(n-2)
type
(g2(10)
)#generator
Python迭代器和生成器
先說迭代器,對於string list dict tuple等這類容器物件,使用for迴圈遍歷是很方便的。在後台for語句對容器物件呼叫iter 函式,iter 是python的內建函式。iter 會返回乙個定義了next 方法的迭代器物件,它在容器中逐個訪問容器內元素,next 也是python的...
Python迭代器和生成器
迭代器是訪問集合元素的一種方法 是可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問 他有兩個基本的方法,iter 和next 字串,列表或遠足物件都可以用於建立迭代器 list1 1,2,3,4 it1 iter list1 建立迭代器物件 print next ...
python 迭代器和生成器
迭代器是訪問集合元素的一種方式。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退,不過這也沒什麼,因為人們很少在迭代途中往後退。另外,迭代器的一大優點是不要求事先準備好整個迭代過程中所有的元素。迭代器僅僅在迭代到某個元素時才計算該元素,而在這之前或之後,元素可...