如何在列表理解中执行增量操作?

时间:2017-09-19 04:26:46

标签: python-3.x

[1,22,333]

生成输出:

{{1}}

如何操作:count + = i,在上面的程序中,在列表解析中执行,返回与上面相同的输出列表。

1 个答案:

答案 0 :(得分:1)

count的值为triangular numbers。它们可以直接从i

计算
a = [1, 2, 20, 3, 30, 300]
b = []
for i in range(3):  # 0-based instead of 1-based
    # calculate the triangular number
    count = i * (i + 1) // 2

    # add back the 1 for the now 0-based i
    b.append(sum(a[count:count + i + 1]))
print(b)

从那里,我们可以在一个(尽管有点冗余)列表理解中完成所有这些:

b = [sum(a[i * (i + 1) // 2:i * (i + 1) // 2 + i + 1]) for i in range(3)]