2016-08-16 40 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]

相关问题