与其他语言不同,是否可以直接在array
中输入值到特定索引,而不是使用append
。
例如:
arr[10] = 100
答案 0 :(得分:1)
列表有一个插入方法:
在指定位置插入项目。第一个参数是要插入的元素的索引,因此
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)
不要将它们称为数组。它们是lists
或tuples
(不可变)。回答这个问题,是的,如果你的第一个列表中有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])