什么是' do_this()的pythonic方式,如果条件通过'?

时间:2016-07-04 23:18:10

标签: python if-statement

有一种方法可以将它写在一行吗?

>> list.append(elem) if condition else pass

我有时需要这样的东西,而且我不知道实现它的最好方法。

2 个答案:

答案 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)

还有其他方法,但这是最恐怖的。