Advance(3/8) List comprehensions

リスト内包表記
  [ 式 for 任意変数 in イテラブルオブジェクト1 ]

 lst = [0,1,2,3,4,5,6,7,8,9]
 lst2 = [i*2 for i in lst]
 print(lst2) 
 #[0,2,4,6,8,10,12,14,16,18]

条件分岐 if
[ 式 for 任意変数 in イテラブルオブジェクト if 条件式 ]

 odd = [ i for i in lst if i % 2 == 1 ]
 print ( odd ) 
 #[1,3,5,7,9]

三項演算子 ( 条件式 )
[ 真値 if 条件式 偽値 for 任意変数 in イテラブルオブジェクト ]

 odd_even = [ 'odd' if  i % 2 == 1 else 'even' for i in lst ]
 print( odd_even )
 #['even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd']
  1. ※iteratorObject:順番に要素を取得できるObject ↩︎