1.ジェネレータ式
#ジェネレータ式(ほとんどのメモリを占める) G =(I 用 I におけるレンジ(10 )) を印刷(G) #<0x0000019DFFFAC408 ATジェネレータ<genexpr>オブジェクト> のための I でG: 印刷(I)
2.リスト内包
#のリスト理解 ex_list = [ ' の%sの'%(私は+ 1)のための I にレンジ(5 )] プリント(ex_list) #1 、 '第2'、 '第三' 'に' [ '第四の'、 '第'] #は対応 ex_list = [] のための I における範囲(5 ): ex_list.append(" の%sの"%(1 + I )) プリント(ex_list)
3.派生リストジェネレータ式と式の違い
#のリストジェネレータの理解と表現の区別 RET1 =(私は2 * 用 I でレンジ(5 )) を印刷(RET1) #発電機を得るために、この時点で、小さなフットプリントの #<0x0000019DFFFAC408 ATジェネレータ<genexpr>オブジェクト> RET2 = [I 2 * のための I における範囲(5 )] プリント(RET2) #[0,2 ,. 4 ,. 6 ,. 8]
4.派生辞書
#キー値の値と辞書スワップ DIC1 = { " 1 ":11、" 2 ":12である} dic1_reverse = {DIC1 [K]:K 用の K でDIC1} プリント(dic1_reverse) #11:」1' 、12: '2'} #k値に対応した合成敏感値,,均一小文字 = {DIC2 " A " 10、" B ":21であり、" A ":20であり、" K ":44である} dic2_f = {k.lower():dic2.get( k.lower()、0)+ dic2.get(k.upper()、0) のための K で} DIC2の 印刷(dic2_f) #の戻り0(0書き込まれていない戻りなし)されていない場合dic2.get( 'A'は、0)の値を取得 #、 'B':30:21である'{ 'A' K「:44}
式セット(重量になる)の導出
#導出のセット 位(自重)のリスト内の各値の二乗計算 squaredx ** 2 = {X 用の X で [する。1、-1,2、-2,3,4,7 ]} 印刷(squaredx ) #{1、4、9、16、49}
6.ませ推論先祖ありません
#、括弧付き、結局、以来、しかし先行タプルありませんが先祖の派生キャストなかっ RETX =((私は2 * 用 I でレンジ(5)IF I%2 == 0)) を印刷(RETX) #は、<0x000001ADF3FCC5E8 ATオブジェクトジェネレータ<genexpr>> #は、(0、4、8)鋳造後
7.その他の例
#ネストされたリストの値を持つ'E'(複合体は推奨されません) 名前= [[ ' グーグル'、' Facebookの'、' YouTubeの'、' アマゾン' ]、[ ' 百度'、' アリババ'、" テンセント' ' 嗶哩嗶哩' ] NEME = [名前のための LST に名前のための名前で LST IF name.count(' E ')>= 1 ] プリント(neme) #[ 'Googleの'フェイスブック'、 'ユーチューブ'、 'テンセント']
#のpython3にすることができます中国の変数名として 例=(I 用 I におけるレンジ(10 )) を印刷(G) #<0x0000019DFFFAC408 ATジェネレータオブジェクト<genexpr>> のための要素で例: 印刷(要素、エンド= " * " ) #0 * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 *
要約:
構文:
[ 各要素または要素と関連動作表現のための要素は、型を反復してもよい]#通過後に処理順に
[ 要素がする動作に関連する条件を満たすの要素は、データ型場合に反復することができる関連した操作エレメント]#のフィルタリング機能を
#いくつかの注意:
生成とイテレータは不活性で操作している(それが仕事の価値を取ることはありません見つけることができません)、発電機は、値が取られる時間がないが、発電機の複数の
反復可能オブジェクトが持っている__iter__メソッドを