无法在列表理解中使用 *= python 运算符

McL*_*odx 3 python list-comprehension

我不确定为什么我无法*=在列表理解中使用运算符,在for循环中使用它时可以吗?

def funcLC(l):
    ans = 1
    [ans *= x for x in l if x < 0]
    return ans

SyntaxError: invalid syntax

def funcFor(l):
    ans = 1
    for x in l:
        if x < 0:
            start *= x
    return ans
Run Code Online (Sandbox Code Playgroud)

Cur*_*ore 5

赋值运算符(及其所有变体)在 Python 中形成语句,而不是表达式。不幸的是,列表推导式(以及其他推导式,如集合、字典和生成器)仅支持表达式。