分享下使用insert函数时,参数index设置为负索引 negative index时的情况。
insert()语法如下:
list.insert(index, obj)
- index -- 对象 obj 需要插入的索引位置。
- obj -- 要插入列表中的对象。
insert函数时实现的功能是,在指定的索引位 之前 插入 参数中指定的对象。
一般,在索引大于0的时候,我们不会发觉,因为插入后的效果,正好将要插入的元素放在了指定的索引位上。
但,当索引为负数小于0时,就发现不是那么回事了。
我们输入help语句查看下该函数的使用:
help(list.insert)
得到的帮助是:
Help on method_descriptor:
insert(self, index, object, /)
Insert object before index.
这是明确告诉我们,要在指定的index之前插入元素!!!
举个栗子~~
【正数索引】
x = [10, 34, 45, 64, 100]
x.insert(1,0) #索引位1之前插入0
x
结果为:[10, 0, 34, 45, 64, 100]
看起来,新插入的0恰好在位置1上。
【负数索引】
x = [10, 34, 45, 64, 100]
x.insert(-1,0) #在最后一个元素之前插入0
x
结果为:[10, 34, 45, 64, 0, 100]
新插入的0在最后一个元素之前,插入后为倒数第二个元素。