このような一行を書くことは可能ですか: <statement> if <cond> else <statement>
. のような意味ではありませんa = 1 if 1 else 2
。
例:
p
それ自体にリストがあるリストがあります。input を受け取ったとしましょうinputIter
。私は次のことをしたいと思います:
for input in inputIter:
if <condition>: p+=[[input]] # generate new list
else: p[-1]+=[input] # append to latest list
それから、これをワンライナーにする方法が必要だと思ったので、これを試しました:
for input in inputIter:
p+=[[input]] if <condition> else p[-1]+=[input]
しかし、これは生成します
Syntax error: invalid syntax ^
( はどこにありますか=
)。回避策はありますか? これが最良の例ではないことは承知しています。私はそれが少し醜く見えるかもしれないことを知っています。しかし、私の意見では、それは読みやすいです。