機能 - 発電機、イテレータ

#----- -----リストビルダ

1、A = [X * 2  X における範囲(10 )]
 2  プリント(、タイプ(A)) [0、2、4、6、8、10、12、14、16、18] <クラスのリスト'> 
3  
4  デフF(N):
 5      リターン N ** 3
 6  
7 A = [F(X)のためのx における範囲(10 )]
 8  プリント(、タイプ(A)) [0、1、 8、27、64、125、216、343、512、729] <クラスのリスト」>

 

#-----簡単な割り当てモード

1、T =(12,45 2、B = T
 3  プリント(A) 12 
4  プリント(B) 45

 

#----ジェネレータ(発電機が反復可能です)-----

1 S =(X * 2  X における範囲(10 ))
 2   I S:
 3      プリント(I、エンド= "  "0 2 4 6 8 10 12 14 16 18である
4。 
5つの。 イテラブルを内部そこITER方法
。6 A =(1、2,3,5 。7__iter__ ()
 。8、B = [2,3,4,5 ]
 。9。B __iter__ ()
 10 C = { " A "" D "" G "" R " }
 11個の C。__iter__ ()
 12 E = セット(A)
 13  プリント(例えば、タイプ(E))
 14 E。__iter__()

 

フィボナッチ数を生成する#-----利回りのキーワード

1  DEF :(MAX)FIB
 2      = 0,0,1前後nは、
 3      ながら N < :最大
 4          収率5          +前=後前後、6          = 1からn +
 7  
8 = FIB G(6 9   I におけるG:
 10      プリント(I)

 

#-----利回り使用

1  DEF バール():
 2      プリント" OK1 " 3      STR1 = 収率 1
 4      プリント(0009)
 5  
6      プリント" OK2 " 7      STR2 = 収量 2
 8      プリント(STR2)
 9、B = バール()、
 10  次( B)
 11 RET = b.send(" EE " 12  プリント(RET)

 

#-----同時動作も収率を介してシングルスレッドの場合の効果を達成するために実装することができます

1  インポート時間
 2  
3。 DEF ツーリスト(名):
 4      プリント" %sのスタートバン"%の名前)
 。5      ながらTRUE:
 6          包子= 降伏  #のジェネレータ機能(発電機)
7。         印刷" %S%食べるの"(名前、包子))
 8。 
9。 DEF クック(名):
 10      C1 =ツーリスト(" A " 。11      C2 =ツーリスト(" B 12であります     。C1の__next__ ()
 13は      C2。__next__ ()
 14      プリントが" %Sは、パンを開始し、"%の名前)
 15      のための I における範囲(1,10 ):
 16          time.sleep(0.2 。17          c1.send(I)
 18はある         c2.send(I)
 。19クック(" ドリーム"
コードの表示

 

----- -----#イテレータ

1、ITER方法がある
2は、次の方法
1 A = [ " "" 上昇"" 幸せ" ]
 2、D = ITER(A) <list_iteratorオブジェクト0x000001E01BFADA90における> 
3  の印刷(D)
 4  プリント__iter__()) 0x00000258F8392668における<list_iteratorオブジェクト>

おすすめ

転載: www.cnblogs.com/rise-home/p/11612358.html