[問題] 新手發問

看板Python作者 (gto)時間5年前 (2019/01/16 09:04), 編輯推噓6(6020)
留言26則, 6人參與, 5年前最新討論串5/6 (看更多)
我有一個問題 但我是新手 想好久了 寫不出來 想請教各位高手 我有一列數 存在陣列裡面 a[1]=x a[2]=y a[3]=z 。 。 a[n]=xxx 我要把上面的陣列 存在另一個陣列裡面 變成 b[1]=x b[2]=x+y b[3]=x+y+z b[n]=x+y+z+....xxx 我該如何做呢????請大家教我.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.253.103.239 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1547600673.A.7B3.html

01/16 09:20, 5年前 , 1F
b[i] = [sum(a[1:i]) for i in range(0,n)]
01/16 09:20, 1F

01/16 09:20, 5年前 , 2F
b =
01/16 09:20, 2F

01/16 09:21, 5年前 , 3F
打錯
01/16 09:21, 3F

01/16 09:22, 5年前 , 4F
b = [sum(a[0:i]) for i in range(0,n)]
01/16 09:22, 4F

01/16 09:25, 5年前 , 5F
b=[sum(x[0:i+1]) for i in (range(0, len(x))]
01/16 09:25, 5F

01/16 09:26, 5年前 , 6F
樓上, range 的 to index 是 exclusive
01/16 09:26, 6F

01/16 09:27, 5年前 , 7F
對欸應該+1XD
01/16 09:27, 7F

01/16 09:34, 5年前 , 8F
b.append(a[idx] if idx == 0 else b[idx-1] + a[idx])
01/16 09:34, 8F

01/16 10:00, 5年前 , 9F
謝謝樓上高手!!!!!
01/16 10:00, 9F

01/16 10:00, 5年前 , 10F
k大的寫法,小弟看不懂...哈..不過還是很謝謝你!!!!
01/16 10:00, 10F

01/16 12:14, 5年前 , 11F
K大的是 index是0的b直接給a0 不是的就把前一個b加上這
01/16 12:14, 11F

01/16 12:14, 5年前 , 12F
個index的a 有點歸納法fu
01/16 12:14, 12F

01/16 12:34, 5年前 , 13F
不要寫成O(n^2)好嗎..
01/16 12:34, 13F

01/16 12:37, 5年前 , 14F
另外這寫不出來不是程式問題 是國小國中數學問題
01/16 12:37, 14F

01/16 15:12, 5年前 , 15F
寫成O(n^2) 單純因為可以一行搞定,當然要是知道input
01/16 15:12, 15F

01/16 15:12, 5年前 , 16F
會很大就不會這樣寫。那上面那句 append 還是要配個f
01/16 15:12, 16F

01/16 15:12, 5年前 , 17F
or loop 才行,要是要寫 for loop 我覺得那就不必寫得
01/16 15:12, 17F

01/16 15:12, 5年前 , 18F
那麼隱晦。這樣寫更易明白:
01/16 15:12, 18F

01/16 15:12, 5年前 , 19F
sum=0
01/16 15:12, 19F

01/16 15:12, 5年前 , 20F
for i in x :
01/16 15:12, 20F

01/16 15:12, 5年前 , 21F
sum+=i
01/16 15:12, 21F

01/16 15:13, 5年前 , 22F
y.append(sum)
01/16 15:13, 22F

01/16 15:13, 5年前 , 23F
Oops 上一行忘了indent
01/16 15:13, 23F

01/17 01:05, 5年前 , 24F
其實用 itertools.accumulate 也可以一行搞定:
01/17 01:05, 24F

01/17 01:06, 5年前 , 25F
y=list(itertools.accumulate(x, lambda a,b: a+b))
01/17 01:06, 25F

01/17 09:43, 5年前 , 26F
python板充滿溫暖,謝謝各位!!!!
01/17 09:43, 26F
文章代碼(AID): #1SFeCXUp (Python)
文章代碼(AID): #1SFeCXUp (Python)