2017-09-19 3 views

答えて

1

countの値はtriangular numbersです。彼らはiから直接計算することができます。

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

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) 

があるから、私たちはすべての単一のリスト(ビット冗長あるが)理解でこれを行うことができます

関連する問題