使用数组中的索引输入特定位置

时间:2014-02-23 23:16:36

标签: python

与其他语言不同,是否可以直接在array中输入值到特定索引,而不是使用append

例如:

arr[10] = 100

3 个答案:

答案 0 :(得分:1)

列表有一个插入方法:

  

list.insert(i, x)

     

在指定位置插入项目。第一个参数是要插入的元素的索引,因此a.insert(0, x)插入列表的前面,a.insert(len(a), x)等同于a.append(x)

将元素插入指定的位置,并将数组中的每个其他元素推回一个索引:

>>> arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> arr.insert(10, 100)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 11]

如果指定的索引超过了数组中元素的数量,它将追加到结尾:

>>> arr.insert(400, 100)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 11, 100]

或者,如果您想修改列表中已存在索引的元素,请使用Christian的答案。

答案 1 :(得分:0)

不要将它们称为数组。它们是liststuples(不可变)。回答这个问题,是的,如果你的第一个列表中有11或更长的长度,那么就有可能。

示例:

my_list = [0, 0, 0, 0]
my_list[2] = 10
print my_list
>>> [0, 0, 10, 0]

my_list[5] = 10 # will raise an IndexError because `5` is not a valid index. 
                # Valid indexes in this case would be: 0, 1, 2, 3

答案 2 :(得分:0)

python中,array通常表示numpy array

In [40]:
import numpy as np
a=np.arange(10)
In [41]:

np.insert(a, 7, 90)
Out[41]:
array([ 0,  1,  2,  3,  4,  5,  6, 90,  7,  8,  9])