リスト内包表記でできないかもしれないこと

リスト内包表記

リスト内包表記とは,(定義はわからないが)forループの結果をそのままリストにする書き方であり,ちょっとした応用的なpython独特の文法らしい.
内包表記を使わずにリストを定義→forループ→リストにappend,とやるより速度がだいぶ速いらしい.
基本的な書き方は,

num_list = [i for i in range(3, 10, 2)] # -> [3, 5, 7, 9]

内包表記にif条件を追加する場合,if文は末尾につける.

num_list = [i for i in range(3, 10, 2) if i % 3 == 0] # -> [3, 9]

さらにelseをつける場合は末尾ではなく,条件式の順序が入れ替わって前に出る.

num_list = [i if i % 3 == 0 else i * 2 for i in range(3, 10, 2)] # -> [3, 10, 14, 9]

elifは使えず,代わりにelseの後にif文を続ける.

num_list = [i if i % 3 == 0 else i * 2 if c % 5 == 0 for i in range(3, 10, 2)] # -> [3, 10, 9]

詳しい説明は数多のサイトがあるので省略.

できなかったこと

冒頭にpass文を置いて特定の条件の場合を飛ばすこと.

num_list = [pass if i % 3 == 0 else i * 2 for i in range(3, 10, 2)]
# -> [10, 14] となるはずが
# -> syntax error