Python 嵌套一行循环
我知道如何用一个循环编写一行循环,例如Python 嵌套一行循环,python,loops,if-statement,python-3.x,for-loop,Python,Loops,If Statement,Python 3.x,For Loop,我知道如何用一个循环编写一行循环,例如 for x in range(0,10): print(x) 但我想要像这样的东西 for x in range(0,10): if 1==1: print(x) 但是,这将返回一个错误。我怎样才能解决这个问题呢?在Py3中,您可以这样做 for x in range(0,10): print(x) if 1==1 else None 输出 >>> for x in range(0,10): print(x) if 1==1 el
for x in range(0,10): print(x)
但我想要像这样的东西
for x in range(0,10): if 1==1: print(x)
但是,这将返回一个错误。我怎样才能解决这个问题呢?在Py3中,您可以这样做
for x in range(0,10): print(x) if 1==1 else None
输出
>>> for x in range(0,10): print(x) if 1==1 else None
...
0
1
2
3
4
5
6
7
8
9
通过将其放在多行上进行修复;)或者,更严重的是,您可以重构为一个列表理解,类似于
对于y in(x对于x在范围(0,10)内,如果1==1):print(y)
@MagnusHoff,它被称为一个生成器表达式,而不是列表理解:DOr只是忘记了一行。可编辑性计数。这将为条件不适用的值打印None
。它基本上是print((x)如果没有其他条件)
对于Python3,它工作得更好,因为print
是一个函数,那么。@tobias\k OP可以在那里放置任何东西。谢谢你的信息though@BhargavRao当前位置但是你必须在那里放些东西。在Python2中,您不能打印任何内容,这正是这里所需要的。(除非您使用的是2.6+版的“未来导入打印”功能中的)