Python如何一行写完if elif else列表推导式

Python012

Python如何一行写完if elif else列表推导式,第1张

Python中的if elif else结构通常如下:

在特殊情况下,我们可能希望把这个条件语句写成一行,如(列表推导式中)。

结论就是,将上述结构改为:

如下例:

希望对一个字符串数据进行判断,获取一个该二手房信息属于哪种类型的房产 :判断依据就是,如果字符串中含有别墅则是别墅,如果含有车位即为车位,其他为高层。

我只是进入Python,我真的很喜欢语法的简洁。但是,是否有更简单的方法来编写if-then语句,以便它适合一行?

例如:

有没有更简单的写这个方法?我的意思是,在Objective-C中,我会把它写成:

Python有什么类似的东西吗?

更新

我知道在这种情况下,我可以使用 count == (count + 1) % N 。

我在问一般的语法。

这更像是一个 ternary operator 表达式,而不是if-then,这是python语法

更好的例子: (感谢 Mr. Burns

和赋值语句一起使用:

对比:

翻译整理: codewenda.com

英文原文: stackoverflow