鱼C论坛

 找回密码
 立即注册
查看: 3086|回复: 5

[已解决]insert下标为负数时,该如何理解下标为负数

[复制链接]
发表于 2017-12-28 23:13:47 | 显示全部楼层 |阅读模式

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

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

x
初始列表:members = ['zhao', 'wei', True, 'qian', 'suan', 'li']
执行members.insert(-1,1)
结果为['zhao', 'wei', True, 'qian', 'suan', 1, 'li']
请问insert中下标为负数该如何理解?
最佳答案
2017-12-28 23:21:36
首先你要知道-1是指的列表中的最后一个元素,然后insert是插入到你给的索引值元素的前面一个,-1指的是最后一个,所以插到最后一个前面一个了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-28 23:21:36 | 显示全部楼层    本楼为最佳答案   
首先你要知道-1是指的列表中的最后一个元素,然后insert是插入到你给的索引值元素的前面一个,-1指的是最后一个,所以插到最后一个前面一个了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-12-28 23:36:08 | 显示全部楼层
我的思考方式:member=[1,3,5,7,9]
①链表里面第一个元素为0
②把链表看成一条头咬着尾巴的蛇,头尾相接
③0的前面自然就是负数,就尾巴那个数就是-1,再往回推-2
也就是说,member[0]=1  member[-1]=9,member[-2]=7
始终把第一个元素当做0,当然member[-5]=member[0]=1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-28 23:53:41 | 显示全部楼层
zero月蚀的假面 发表于 2017-12-28 23:36
我的思考方式:member=[1,3,5,7,9]
①链表里面第一个元素为0
②把链表看成一条头咬着尾巴的蛇,头尾相接
...

应该不是首尾相连的,你对应的数组,下标<= -5(即-6,-7......)均是添加在第一个,所以我个人理解是负号代表逆序,正序的最后一位,即例中的9,下标即为-1,-2对应就是7
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-28 23:57:18 | 显示全部楼层
蓝色王魂 发表于 2017-12-28 23:21
首先你要知道-1是指的列表中的最后一个元素,然后insert是插入到你给的索引值元素的前面一个,-1指的是最后 ...

应该不是首尾相连的,下标为-a的话,a>=列表的长度,则始终添加在第一位,所以我个人理解是负号代表逆序,正序的最后一位,即为-1,依次逆向数即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-29 08:13:16 | 显示全部楼层
python菜鸟一枚 发表于 2017-12-28 23:57
应该不是首尾相连的,下标为-a的话,a>=列表的长度,则始终添加在第一位,所以我个人理解是负号代表逆序 ...

不是我是说这种思考方式而已,不容易记混,看个人喜好嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-5 06:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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