python中有一個略微奇怪的表達(dá)式叫yield expression,本文就來探究一下這是個什么東西。一步一步來。
iterable
mylist是一個列表(list),我們可以逐條取出每一個item,這個過程叫做iteration。像list這樣可以用”for…in…”依次遍歷的對象被稱為iterable,其他的iterable還有string、tuple、dict等。iterable的一個特點是所有的item會存儲到內(nèi)存中,這樣會產(chǎn)生一些不便和不利的地方,于是催生了generator(后面講到)。
list comprehension(列表推導(dǎo)式)
generator
對上面的list comprehension稍作修改:
generator也屬于iterable,但是其調(diào)用方式非常特別。
yield
for x in mygenerator:
print(x)
新聞熱點
疑難解答
圖片精選