我很感激这可能是一个重复,但在审查了几个问题后,我仍然无法看到答案。你知道吗
我得到了一个语法错误,从我的代码使用列表理解。我有一个列表,a,包含一些数字,并试图输出一个新的列表,只包含偶数。你知道吗
我要缩短的代码是:
b = []
for num in a:
if num % 2 == 0:
b.append(num)
print(b)
我写的是:
evens = [num if num % 2 == 0 for num in a]
^
SyntaxError: invalid syntax
然而,我得到了一个语法错误在上述点。你知道吗
我把理解改写为:
even = [num for num in a if num % 2 ==0]
这就成功了。你知道吗
通过阅读文档,我知道有两种方法可以编写一个列表:
A for B in C if <condition>
以及
A if <condition> for b in C
第一种情况怎么了?你知道吗
对于带有
if else
的列表理解:并且,对于仅具有
if
条件的列表理解:请注意,这实际上使用了另一种语言结构,即条件表达式,它本身不是理解语法的一部分,而for…in后面的if是列表理解的一部分,用于过滤源iterable中的元素。你知道吗
Python有一个三元运算符。给你:
A if COND else B
它被用作整个代码块。列表生成器也可以在正文的末尾有一个
if
-语句,用于过滤值。所有这些发电机都是正确的:(
()
不是必需的,但它们用于区别if else和generator if)但是不能在
for
之前使用if
,也不能在没有else
的情况下使用if
,因为它:if
-语句,因为它在for
之前所以这就产生了一个错误。你知道吗
很简单,如果没有“else”,那么“if”语句必须出现在列表的末尾。你可以写:
但你不会写字
因为没有“别人”。你知道吗
相关问题 更多 >
编程相关推荐