我想在任何特定的位置添加任何特定的数字。因此,当我提出解决方案时,会得到索引超出范围或列表超出范围(python中的列表和数组是动态增长的)。你知道吗
from array import *
a = int(input("how many number you want to inout in an arery"))
ary = array('i',[])
for i in range(a):
d = int(input("enter number")) # suppose i take [2,5,4,3,8]
ary.append(d)
pos = int(input("Enter position number")) #i take position is 4
val = int(input("enter value number")) # and value is 10
c = a-1
while(c >= pos-1):
ary[c+1] = ary[c]
c-=1
ary[pos-1]= val
print(ary)
[2,5,4,10,3,8]
切片怎么样?灵感来自于你如何用
list
来做这件事。下面在位置2添加值100(从0而不是1索引)请注意,我对
array
并不熟悉,但据我所知,它们的行为似乎类似于list
s。因此,上面的插入方式可能不是最有效的,因为它创建了3个新数组并将它们连接到a
出现此错误消息的原因是数组的大小随着1的增加而增加,因为您添加了一个新值,但忘记了实际将该位置添加到数组中。所以,要解决你的问题,你需要添加一个位置,然后做相应的动作。你知道吗
算法如下:
在Python中,代码是:
另一件事:
ary
是整个数组。ary[2]
是数组中的第三个元素。可以附加到数组,但不能附加到数组的某个位置。因此,分配如下:ary[2].append(whatever)
这是错误的。你知道吗
相关问题 更多 >
编程相关推荐