Re: [问题] list 里的元素累加

楼主: apua (Apua)   2014-05-01 01:04:28
※ 引述《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
作者: tiefblau (tiefblau)   2014-04-21 23:27:00
恕我驽钝,这除了一行以外有啥优点吗? O(n)可以做完的东西 你这样每次都call sum()...阿勒 不懂你笑点在哪? 对我来说可读性跟复杂度比一行重要多了 不过我从不怀疑各种短码高手、一行神人的能力
作者: Microscft (小软哥)   2014-05-01 10:20:00
其实我也看不懂他到底在笑什么 我觉得不太好笑
作者: jlhc (H)   2014-05-01 16:45:00
这...我猜笑点大概就是因为可读性很低?
楼主: apua (Apua)   2014-05-02 01:59:00
嘿啦~ 不好意思笑点跟可读性一样低, 太失败了

Links booklink

Contact Us: admin [ a t ] ucptt.com