【发布时间】:2023-03-25 20:45:01
【问题描述】:
是否可以这样写一行:<statement> if <cond> else <statement>。我的意思不是a = 1 if 1 else 2。
示例:
我有一个列表p,它本身就有列表。假设我得到一个输入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 ^
(= 所在的位置)。有解决方法吗?我知道这可能不是最好的例子。我知道它可能看起来有点难看。但在我看来,它是可读的。
【问题讨论】:
标签: python python-2.7 if-statement conditional-expressions