[1,22,333]
生成输出:
{{1}}
如何操作:count + = i,在上面的程序中,在列表解析中执行,返回与上面相同的输出列表。
答案 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)]