python索引[-1]显示错误的元素

t0ybt7op  于 2023-02-01  发布在  Python
关注(0)|答案(3)|浏览(358)

正如我所了解到的,在python中,index-1是最后一个数字。

values = [1, 2 , 3, 4, 5, 6, 7, 8, 9, 10]

print(value[-1])

输出返回10。
现在,如果我想用insert方法在最后一个位置插入一个数字,我可以:

value.insert(-1,11)

我希望有:

[1, 2,3, 4, 5, 6, 7, 8, 9, 10, 11]

但是,这是我在输出中得到的:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 10]
neskvpey

neskvpey1#

列表插入(i,x)

在一个给定的位置插入一个项,第一个参数是要在其前面插入的元素的索引,所以.insert(0,x)在列表的前面插入,而.insert(len(a),x)等价于.append(x)。
11插入到最后一个元素(索引-1)(即10)之前。

juud5qan

juud5qan2#

插入函数的参数“index”(例如-1)是要插入的元素的索引,但仅相对于原始列表,因此-1元素是原始列表中的第10个元素(索引为9),因此插入的元素将具有该索引(9)。如果要在末尾插入元素,则需要用途:values.insert(len(values),11)values.append(11)
Append在末尾添加元素,第一个元素插入11作为索引10,因此作为第11个元素。

piv4azn7

piv4azn73#

当你使用.insert()函数时,你在列表中插入了一个元素,并且所有后续的元素都被移动。所以在你的代码中,你插入了11到-1位置,并且移动了10。如果你想让11在-1位置,只要使用.append()函数,因为它会把元素添加到最后一个位置。或者使用values.insert(len(values), 11)。它会将11添加到10之后的位置,这意味着11将是最后一个。

相关问题