鱼C论坛

 找回密码
 立即注册
查看: 2518|回复: 4

[已解决]‘列表中索引值可以是负数’遇到的问题

[复制链接]
发表于 2020-8-1 08:55:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python支持负数索引,按照从右到左的顺序是-1,-2,-3......

可是为什么在用list.insert(index,元素)的时候,输入-1位置,结果插入的却是-2位置(倒数第二个)呢?

以后用到负数索引的情况多么,是不是可以忽略?
最佳答案
2020-8-1 08:58:11
本帖最后由 Twilight6 于 2020-8-1 08:59 编辑



你理解了 insert 正数索引插入时候的情况  就能知道这里是为什么了,举些例子:
>>> a = [1,1,1,1,1,1,1]
>>> a.insert(1,8)    # 向位置参数 1 插入一个 8
>>> a
[1,8,1,1,1,1,1,1]   # 会发现 8 传入后把之前的所在 1 的位置参数往后移动了,而不是往前

所以从这里可以看出来 insert 是插入指定位置参数后,先将原来的位置参数的元素往后移动的,然后在放入该位置参数

所以你这里插入负数索引时候 导致将原来位置的参数上的都元素往后移动,才导致了这种结果


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-1 08:57:38 | 显示全部楼层
将元素插入到最后一位可以用 append() 方法,一般 list.insert() 的索引都是正数,用到负数的情况不多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 08:57:48 | 显示全部楼层
负数索引用的不少,insert 用的属实不多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 08:58:11 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-8-1 08:59 编辑



你理解了 insert 正数索引插入时候的情况  就能知道这里是为什么了,举些例子:
>>> a = [1,1,1,1,1,1,1]
>>> a.insert(1,8)    # 向位置参数 1 插入一个 8
>>> a
[1,8,1,1,1,1,1,1]   # 会发现 8 传入后把之前的所在 1 的位置参数往后移动了,而不是往前

所以从这里可以看出来 insert 是插入指定位置参数后,先将原来的位置参数的元素往后移动的,然后在放入该位置参数

所以你这里插入负数索引时候 导致将原来位置的参数上的都元素往后移动,才导致了这种结果


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-1 09:00:52 | 显示全部楼层
Twilight6 发表于 2020-8-1 08:58
你理解了 insert 正数索引插入时候的情况  就能知道这里是为什么了,举些例子:

明白了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 17:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表