Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 for循环和if-else_Python_For Loop - Fatal编程技术网

python for循环和if-else

python for循环和if-else,python,for-loop,Python,For Loop,如果x%2==0,我想打印x,如果不是,则打印y。 这对我不起作用 range = list(range(1, 5)) print(x for x, y in enumerate(range) if(x % 2 == 0) else y) 您应该更新表达式: >>> range = list(range(1, 5)) >>> myIter = (( x if (x % 2 == 0) else y) for (x, y) in enumerate(range

如果x%2==0,我想打印x,如果不是,则打印y。 这对我不起作用

range = list(range(1, 5))
print(x for x, y in enumerate(range) if(x % 2 == 0) else y)

您应该更新表达式:

>>> range = list(range(1, 5))
>>> myIter = (( x if (x % 2 == 0) else y) for (x, y) in enumerate(range) )
>>> print(list(myIter))
[0,2,2,4]

您需要在末尾移动for循环,如下所示:

range = list(range(1, 5))
print(x if x % 2 == 0 else y for x,y in enumerate(range))

我想你的意思是
(如果x%2==0,则x=0,否则y表示枚举(范围)中的(x,y))
,但是打印生成器表达式不会显示任何非常有用的内容。“它对我不起作用”。。。为什么?你期待什么?怎么搞的?有什么不对?不要使用内置变量名-通过执行
range=list(range(1,5))
来隐藏
range()。您需要遵循给定的语法。