※ 引述《qwertmn (抽筋)》之銘言:
data = range(100)
result = [sum(data[i-i%5:i+1]) for i in xrange(len(data))]
推 tiefblau:恕我駑鈍,這除了一行以外有啥優點嗎? O(n)可以做完的 04/21 23:27
→ tiefblau:東西 你這樣每次都call sum()... 04/21 23:27
可以一行又在複雜度 O(n) 做完喔~
data = list(range(20000))
seglen = 200
# 以下是一行
result = list(map(
lambda E,T=[0]:T.__setitem__(0,E[1]+(E[0]%seglen and T[0])) or T[0],
enumerate(data)))
XDDDDDD