使用嵌套列表理解来创建加速增长

我想要一个由数字组成的列表,乘数随着每一步的增加而增加。基本的嵌套for循环很简单。

numbers = []
i = 1
for x in range(50):
    numbers.append(x*i)
    i += 1

但是当我尝试使用列表理解来做这件事时,它并不像我想要的那样工作。

numbers = [x * i for x in range(50) for i in range(50)]

我知道我在列表理解上做错了,但我不知道如何解决。

回答

这应该与您的 for 循环的行为方式相同。

numbers = [x * (i+1) for x, i in zip(range(50), range(50))]

或者

numbers = [x * i for x, i in zip(range(50), range(1, 51))]

甚至没有我

numbers = [x * (x+1) for x in range(50)]


以上是使用嵌套列表理解来创建加速增长的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>