Py学习  »  Python

一行python循环中的If和else

inverted_index • 5 年前 • 1526 次点击  

很抱歉这么简单;我在别处找过,但没有人指出这个具体问题。我想学习python的方式,使我的代码紧凑!因此,为此,我尝试使用一行(即短)循环,而不是多行循环,特别是for循环。当我试图在单行循环中使用一行if和else时,问题就出现了。只是好像没用。例如,请考虑以下内容:

numbers = ... # an arbitrary array of integer numbers

over_30 = [number if number > 30 for number in numbers]

这是有问题的,因为 one-line if 确实需要 else 跟着它。即使,当我加上 其他的 到上面的脚本(之后 if ): over_30 = [number if number > 30 else continue for number in numbers] ,它变成了另一个蟒蛇般的错误。

我知道问题实际上是一行if和else,因为python需要标识一个应该分配给lefthand操作符的值。但是,对于上述模式的特定用例是否有解决方法?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55925
 
1526 次点击  
文章 [ 2 ]  |  最新文章 5 年前