2016-08-16 78 views
0

我想解決一個問題,我無法做到這一點。所以問題是我有一個Python函數。我有3個案例,我希望我的職能對所有這些案件都是一般的。因此,我的函數需要一個參數,它是這樣a = [a1, a2, a3]和每個個案的數組中的元素的2是恆定的,而另一可變的陣列,我該示例代碼解釋此更詳細地:把一個變量放在一個特定的數組位置Python

# I have my function: 

def example(r,a): 
    # r is an array. Inside this function I have a for loop 
    for i in xrange(len(r)): 
     #inside this loop is where I have the 3 cases: 
     a = [r[z], a[1], a[2]] 
     a = [a[0], r[z], a[2]]  
     a = [a[0], a[1], r[z]] 
    (rest of the code) 
    ... 

所以我想找到一種方法來聲明a,所以我的函數知道在哪裏放置變量r[z]我知道它是可行的,如果它使用if語句,但是我正在尋找一種單線解決方案,就像放置變量r [z]在數組a的給定位置。或者我不知道任何有效的方式表示讚賞。

預先感謝您。

問候

+0

使用'.insert()'或'a [:i] + [item] + a [i:]' –

回答

0

使用insert()到給定位置之前插入的元件。

例如,對於

arr = ['A','B','C'] 
arr.insert(0,'D') 
arr becomes ['D','A','B','C'] 

因爲 'd' 是在索引的元素之前立即插入0

,用於

arr = ['A','B','C'] 
arr.insert(4,'D') 
arr becomes ['A','B','C','D'] 

因爲 'd' 爲之前所插入的索引4處的元素(超出數組末尾的1)。

原來的答覆:Inserting values into specific locations in a list in Python

+0

嗯,但這並不能解決我的問題,因爲我怎樣才能定義數組,在給定的位置變量。我的意思是我想提供該函數的數據在哪裏插入數組的信息。例如: a = ['inserthere',a2,a3] 因此該函數會將該變量插入'inserthere'的位置 –

+0

您將該位置傳遞給insert(),所以我不明白你的意思 – Raskayu

0

我發現這樣做的我的方法:

#if I define a as: 

a = [a1, True, a3] 

# I can use 

np.place(a, a==True, r[z]) 

這樣它將取代值,其中A [1] =用r真[Z]

相關問題