python for循环和if-else
如果x%2==0,我想打印x,如果不是,则打印y。 这对我不起作用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
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()。您需要遵循给定的语法。