最近のトラックバック

最近のコメント

2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« 二次元配列のコピー(解決というか確認) | トップページ | Visual Studio Codeのアップデート »

2016年12月20日 (火)

リスト内包とif

リスト内容表記で、if文を書くときはforの後ろに書くけど、elseを追加するとforの前に書かないといけないというのもヘンだなぁ。

>>> [a for a in range(3)]
[0, 1, 2]

# ifを前に書くとエラー
>>> [a if a > 0 for a in range(3)]
SyntaxError: invalid syntax

# elseを追加するとOK
>>> [a if a > 0 else '' for a in range(3)]
['', 1, 2]

# elifはNG
>>> [a if a > 0 elif a < 0  '' for a in range(3)]
SyntaxError: invalid syntax

# 後ろに書くとOK
>>> [a for a in range(3) if a > 0]
[1, 2]
>>>

« 二次元配列のコピー(解決というか確認) | トップページ | Visual Studio Codeのアップデート »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181317/64650725

この記事へのトラックバック一覧です: リスト内包とif:

« 二次元配列のコピー(解決というか確認) | トップページ | Visual Studio Codeのアップデート »