正如我所了解到的,在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]
正如我所了解到的,在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]
3条答案
按热度按时间neskvpey1#
列表插入(i,x)
在一个给定的位置插入一个项,第一个参数是要在其前面插入的元素的索引,所以.insert(0,x)在列表的前面插入,而.insert(len(a),x)等价于.append(x)。
11插入到最后一个元素(索引-1)(即10)之前。
juud5qan2#
插入函数的参数“index”(例如-1)是要插入的元素的索引,但仅相对于原始列表,因此-1元素是原始列表中的第10个元素(索引为9),因此插入的元素将具有该索引(9)。如果要在末尾插入元素,则需要用途:
values.insert(len(values),11)
或values.append(11)
Append在末尾添加元素,第一个元素插入11作为索引10,因此作为第11个元素。
piv4azn73#
当你使用
.insert()
函数时,你在列表中插入了一个元素,并且所有后续的元素都被移动。所以在你的代码中,你插入了11
到-1位置,并且移动了10
。如果你想让11
在-1位置,只要使用.append()
函数,因为它会把元素添加到最后一个位置。或者使用values.insert(len(values), 11)
。它会将11
添加到10
之后的位置,这意味着11
将是最后一个。