有一种方法可以将它写在一行吗?
>> list.append(elem) if condition else pass
我有时需要这样的东西,而且我不知道实现它的最好方法。
答案 0 :(得分:5)
if
语句正好用于有条件地执行语句!
if condition:
list.append(elem)
如果真的想要一行,我想你可以做到:
if condition: list.append(elem)
但这肯定不那么可读和惯用!
对于你的第二个例子(更新:它已被编辑出来的问题),Python允许你在任何地方使用三元表达式,这样你就可以缩短
list.append(elem) if condition else other_list.append(elem)
成:
(list1 if condition else list2).append(elem)
然而,它将更具可读性 - 因此,更为惯用 - 将上述内容分为两个陈述:
lucky_list = list1 if condition else list2
lucky_list.append(elem)
答案 1 :(得分:2)
if condition:
list.append(elem)
else:
other_list.append(elem)
还有其他方法,但这是最恐怖的。