深圳三大巨頭企業(yè)溫州seo排名優(yōu)化
1 問題
探索list與iterator的區(qū)別
探索yield的用法
2 方法
代碼實(shí)現(xiàn): mylist = [1, 2, 3] for i in mylist: print(i) ![]() Iterator 迭代器: for i in range(5): print(i) # 0 1 2 3 4 ![]() Generator 生成器: my_generator = (x*x for x in range(10)) for i in my_generator: print(i) # 0 1 4 9 16 25 36 49 64 81 ![]() Yield 產(chǎn)生器:yield相當(dāng)于return,但它返回的是一個(gè)生成器: 代碼實(shí)現(xiàn): def test(): print("First") yield 1 print("Second") yield 2 print("Third") yield 3 my_generator = test() # 創(chuàng)建生成器 print(type(my_generator)) # <class 'generator'> ![]() 函數(shù)使用 yield 作為返回值,那么它就變成了一個(gè)生成器函數(shù)。與普通函數(shù)不同,生成器函數(shù)被調(diào)用后,函數(shù)體中的代碼不會(huì)立即執(zhí)行(執(zhí)行my_generator=test()后不打印任何值),而是返回一個(gè)生成器,正如我們前面提到的:generator 是迭代器,而 yield 可以被視為 return。 |
3 結(jié)語
針對(duì)list和iterator與yelid用法的問題,提出用代碼來實(shí)現(xiàn)來驗(yàn)證的方法,通過百度以及在csdn上查詢資料了解到這兩個(gè)問題后,證明該方法是有效的,通過在兩個(gè)問題我們學(xué)習(xí)到了list與iterator的區(qū)別,以及yelid的函數(shù)的可視為return。