ジェネレータ式と様々な派生

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__メソッドを

おすすめ

転載: www.cnblogs.com/lowislucifer/p/10994296.html