2014-07-14 104 views
-2

我是新來的蟒蛇,我有一個簡單的問題,我無法弄清楚。從一個數組中的元素

我有一個數組假設A = [1 2 3 4 5] 如果我們總結了數組中的元素,它會給15.比如我想要的前3種元素的總和,所以我將有6

我的問題是我想要一個新的數組,它會給我總和中的前3個元素(讓我們稱之爲變量my_sum)。那就是:B=[1 2 3]

我堅持我的代碼:

my_sum = [0] 

for num in A: 

    if my_sum !=6: 

     my_sum = my_sum + num 

之後,我不知道該怎麼辦。

+0

請您仔細閱讀代碼格式 - 縮進在Python中很重要。 – jonrsharpe

+0

列表的總和是一個單一的數字,你是什麼意思的「總和元素」? – timgeb

+1

前三個數字是什麼意思? '[1,3,5]'的總和與'[1,2,6]'的總和相同...... –

回答

1

就像那樣?!

import numpy 

a = numpy.array([1, 2, 3, 4, 5, 6]) 
b = numpy.array([]) 

sum = 0 
for num in a: 
    if sum != 6: 
     sum += num 
     b = numpy.append(b, num) 
    else: 
     break 

print b.astype(int) # [1 2 3] 
+0

我試過了,我得到了以下錯誤:「AttributeError:'numpy.ndarray'object has no attribute'append'」 我有一個數組A = [1 2 3 4 5] as一個輸入,而不是一個列表。 – justin

+0

@justin我改變了代碼與numpy數組一起工作。 – dersvenhesse

+0

現在它的作品!非常感謝你! :) – justin

相關問題