使用列表理解语法生成此列表 [0, 2, 6, 12, 20, 30, 42, 56, 72, 90]

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

我可以使用以下代码生成列表 [0, 2, 6, 12, 20, 30, 42, 56, 72, 90]:

x = []
y = 0
for i in range(2,21,2):
    x.append(y)
    y += i

但是我不确定如何将其转换为以下形式的列表理解语法

[可迭代 if 条件中的值表达式]

python list-comprehension sequence
1个回答
1
投票

您可以使用

赋值表达式
在推导式中分配给y,即使用
:=
:

y = 0
x = [y := y + i for i in range(0,21,2)]
© www.soinside.com 2019 - 2024. All rights reserved.