Python 列表中的额外索引

Python 列表中的额外索引,python,arrays,list,numpy,Python,Arrays,List,Numpy,我有一段代码,尝试在数组中的特定索引处添加元素 N_5min = np.zeros(100) x = [10, 20, 30, 40] print N_5min x1 = [int(i) for i in x] ls_5min = N_5min.tolist() print len(ls_5min) l = 1 for i in range(len(x1)): ls_5min.append(ls_5min.insert((x1[i]+ l), 10)) # Adds element

我有一段代码,尝试在数组中的特定索引处添加元素

N_5min = np.zeros(100)
x = [10, 20, 30, 40]
print N_5min
x1 = [int(i) for i in x]

ls_5min = N_5min.tolist()
print len(ls_5min)
l = 1
for i in range(len(x1)):

    ls_5min.append(ls_5min.insert((x1[i]+ l), 10)) # Adds element at the x[i]th position incremented by 'l'
    l = l+1
print (ls_5min)
这里我将数字10插入到索引11、22、33和44处的零数组中。所以现在列表ls_5min的长度应该是104。但我得到它的长度是108,最后4个元素是“无”。为什么长度是108而不是104?

您需要更换

ls_5min.append(ls_5min.insert((x1[i]+ l), 10))

insert命令将一个项目添加到列表中,但不返回任何项目。然后,append命令将返回的None添加到列表的末尾。

您需要替换

ls_5min.append(ls_5min.insert((x1[i]+ l), 10))


insert命令将一个项目添加到列表中,但不返回任何项目。然后,append命令将返回的None添加到列表的末尾。

因为在每次迭代中,您将insert函数的返回值(默认值为None)追加到ls_5min。因此,在每次迭代中,插入一个值并向ls_5min追加一个none。所以长度是108而不是104

你需要改变

ls_5min.append(ls_5min.insert((x1[i]+ l), 10))


因为在每次迭代中,您都会将insert函数的返回值(默认值为None)附加到ls_5min。因此,在每次迭代中,插入一个值并向ls_5min追加一个none。所以长度是108而不是104

你需要改变

ls_5min.append(ls_5min.insert((x1[i]+ l), 10))


查看
insert
返回的内容?执行一次`附加(插入…)并研究结果。换句话说,测试这些片段以确保它们按照您的想法进行操作。看看
insert
返回什么?执行一次`附加(插入…)并研究结果。换言之,测试这些部件,以确保它们符合您的想法。谢谢。。我不知道:)谢谢。。我不知道:)