海象表达式可以放在方括号而不是圆括号内吗?

问题描述 投票:0回答:1

采取以下代码:

k = 'A'
d = {}
d[k := k.lower()] = 'b'
print(k)
print(d)

这给出了人们期望的输出:

a
{'a': 'b'}

然而,对于我的项目中的类似代码,flake8 抱怨这样的海象表达式是语法错误(至少在 python 3.8 的 github 运行器上;在我的计算机上似乎没有问题)。

所以我的问题是海象表达式是否总是必须在括号内,或者像这样的情况是否也是正确的。

python-3.x syntax flake8 python-assignment-expression
1个回答
0
投票

不需要用在方括号或圆括号中。

例如在

if
块中:

k = 'A'
if (l:=k.lower()) == 'a':
    print(l)

或者:

s = ' a '
if x:=s.strip():
    print(x)
© www.soinside.com 2019 - 2024. All rights reserved.