作者apua (Apua)
看板Python
標題Re: [問題] list 裡的元素累加
時間Thu May 1 01:04:28 2014
※ 引述《qwertmn (抽筋)》之銘言:
data = range(100)
result = [sum(data[i-i%5:i+1]) for i in xrange(len(data))]
1F:推 tiefblau:恕我駑鈍,這除了一行以外有啥優點嗎? O(n)可以做完的 04/21 23:27
2F:→ 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.27.47
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Python/M.1398877470.A.1E7.html
3F:→ tiefblau:阿勒 不懂你笑點在哪? 對我來說可讀性跟複雜度比一行重要 05/01 01:28
4F:→ tiefblau:多了 不過我從不懷疑各種短碼高手、一行神人的能力 05/01 01:29
5F:→ Microscft:其實我也看不懂他到底在笑什麼 我覺得不太好笑 05/01 10:20
6F:→ jlhc:這...我猜笑點大概就是因為可讀性很低? 05/01 16:45
7F:→ apua:嘿啦~ 不好意思笑點跟可讀性一樣低, 太失敗了 05/02 01:59