‘列表中索引值可以是负数’遇到的问题
python支持负数索引,按照从右到左的顺序是-1,-2,-3......可是为什么在用list.insert(index,元素)的时候,输入-1位置,结果插入的却是-2位置(倒数第二个)呢?
以后用到负数索引的情况多么,是不是可以忽略? 将元素插入到最后一位可以用 append() 方法,一般 list.insert() 的索引都是正数,用到负数的情况不多 负数索引用的不少,insert 用的属实不多。 本帖最后由 Twilight6 于 2020-8-1 08:59 编辑
你理解了 insert 正数索引插入时候的情况就能知道这里是为什么了,举些例子:
>>> a =
>>> a.insert(1,8) # 向位置参数 1 插入一个 8
>>> a
# 会发现 8 传入后把之前的所在 1 的位置参数往后移动了,而不是往前
所以从这里可以看出来 insert 是插入指定位置参数后,先将原来的位置参数的元素往后移动的,然后在放入该位置参数
所以你这里插入负数索引时候 导致将原来位置的参数上的都元素往后移动,才导致了这种结果
Twilight6 发表于 2020-8-1 08:58
你理解了 insert 正数索引插入时候的情况就能知道这里是为什么了,举些例子:
明白了,谢谢
页:
[1]