Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 嵌套一行循环_Python_Loops_If Statement_Python 3.x_For Loop - Fatal编程技术网

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+版的“未来导入打印”功能中的