pythonでlistをこちょこちょする時

ここに一つのlistがあります。

a = [1, 2, 3, 4, 5]

これを以下の様に、出力が偶数番目だけ*2されたリストが欲しいです。

[1, 4, 3, 8, 5]

こんな時は、リスト内包表記かlambda。

# リスト内包表記
[x * 2 if x % 2 == 0 else x for x in a]

# lambda
list(map(lambda x : x * 2 if x % 2 ==0 else x, a))

やっぱ内包表記の方がシンプルだと思うんだけど、lambdaで作られてる場合もあって、
オープンソースとか見てるとこれなんだっけってなるので、メモっとく。

いじょ!