鱼C论坛

 找回密码
 立即注册
查看: 1256|回复: 17

[已解决]列表的索引问题!!

[复制链接]
发表于 2021-2-9 13:15:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Python初学者8号 于 2021-2-9 15:05 编辑

我在写程序的时候我发现很奇怪的现象:索引问题。
话不多说直接上代码
  1. l = []
  2. for i in range(6):#  i = 0 1 2 3 4 5
  3.         l.append(i*10)
  4.         print('l = ',l)
  5.         print(l[i],l[i+1])

复制代码

结果是:
  1. 0
  2. 10
  3. 30
  4. 50
  5. 70
  6. 90
复制代码



这里面,发生了很奇怪的事情:         在i = 0的时候,先执行的是 l.append(i*10),他的结果是让空列表l产生第一个元素l[0] = 0
         在执行第二句的时候,是打印出l[0]和l[1]。这个时候神器的事情出现了!!按道理这时候l只有一个元素l[0](也就是0),但是这里却没有报错出现了结果为0!!!        而且在执行最后的时候 i = 5,这时候不是l[5+1]不是也应该超出索引了吗???



我反手写了另一个代码:
  1. for i in range(6):#  i = 0 1 2 3 4 5
  2.         l.append(i*10)
  3.         print('l = ',l)
  4.         print(l[i],l[i+1])
复制代码

运行的结果居然是
  1. #运行的结果是
  2. l = [0]
  3. Traceback (most recent call last):
  4. File "<pyshell#50>", line 4, in <module>
  5. print(l[i],l[i+1])
  6. IndexError: list index out of range
复制代码


这真是牛逼他妈给牛逼开门,牛逼到家了,我是没搞懂咋回事,有没有大佬给看看!!

最佳答案
2021-2-9 22:02:50
Python初学者8号 发表于 2021-2-9 19:31
大哥,我代码搞错了,帮我再看看

你原来的代码就有问题啊!
不管i等于几,索引里有l[i+1]必定越界啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-9 13:21:30 | 显示全部楼层

回帖奖励 +1 鱼币

当i=5时
        print(l[i],l[i+1])后一个索引值为6,越界了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 13:33:14 From FishC Mobile | 显示全部楼层

回帖奖励 +1 鱼币

#运行的结果是
l = [0]
Traceback (most recent call last):
File "<pyshell#50>", line 4, in <module>
print(l,l[i+1])
IndexError: list index out of range

问题不是很明显么,l=[0],l[0]是0,l[1]是什么?列表只有一个元素,你要它第二个元素,哪来第二个?索引越界了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 14:05:36 | 显示全部楼层

回帖奖励 +1 鱼币

最开始写的代码是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 15:04:31 | 显示全部楼层
我明明补充代码了,怎么还显示不出来呢?奇怪了,我有问题的代码是这样的:
  1. for i in range(6):#  i = 0 1 2 3 4 5
  2.         l.append(i*10)
  3.         print('l = ',l)
  4.         print(l[i]+l[i+1])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 15:05:26 | 显示全部楼层
逃兵 发表于 2021-2-9 14:05
最开始写的代码是啥

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

使用道具 举报

 楼主| 发表于 2021-2-9 15:07:47 | 显示全部楼层
hrp 发表于 2021-2-9 13:33
问题不是很明显么,l=[0],l[0]是0,l[1]是什么?列表只有一个元素,你要它第二个元素,哪来第二个?索引 ...

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

使用道具 举报

发表于 2021-2-9 15:21:21 | 显示全部楼层

你提供的代码,没有能跑出来结果为以下的
  1. 0
  2. 10
  3. 30
  4. 50
  5. 70
  6. 90
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 15:41:22 | 显示全部楼层
hrp 发表于 2021-2-9 13:33
问题不是很明显么,l=[0],l[0]是0,l[1]是什么?列表只有一个元素,你要它第二个元素,哪来第二个?索引 ...

补充了 ,大哥再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 18:38:46 | 显示全部楼层
第一次l.append('')后,
l的值是[0]
最大索引是0,但i第一次是0i+1是1,超出了最大索引限制
每一次循环都是这样

评分

参与人数 1荣誉 +1 鱼币 +5 收起 理由
wp231957 + 1 + 5

查看全部评分

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

使用道具 举报

 楼主| 发表于 2021-2-9 18:49:45 | 显示全部楼层
李宜文1 发表于 2021-2-9 18:38
第一次l.append('')后,
l的值是[0]
最大索引是0,但i第一次是0i+1是1,超出了最大索引限制

我的意思是,第一次循环i=1的时候,l+l[i+1]居然没有报错,这不合理啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 18:50:15 | 显示全部楼层
逃兵 发表于 2021-2-9 15:21
你提供的代码,没有能跑出来结果为以下的

大哥,我代码搞错了,帮我再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 19:17:48 | 显示全部楼层
hrp 发表于 2021-2-9 13:33
问题不是很明显么,l=[0],l[0]是0,l[1]是什么?列表只有一个元素,你要它第二个元素,哪来第二个?索引 ...

大哥,我代码搞错了,帮我再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 19:31:21 | 显示全部楼层
昨非 发表于 2021-2-9 13:21
当i=5时
        print(l,l)后一个索引值为6,越界了

大哥,我代码搞错了,帮我再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 22:02:50 | 显示全部楼层    本楼为最佳答案   
Python初学者8号 发表于 2021-2-9 19:31
大哥,我代码搞错了,帮我再看看

你原来的代码就有问题啊!
不管i等于几,索引里有l[i+1]必定越界啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 09:27:22 | 显示全部楼层
昨非 发表于 2021-2-9 22:02
你原来的代码就有问题啊!
不管i等于几,索引里有l必定越界啊

我晓得了,是因为我在idle里面测试的,我在sublime测试是错的,估计是shell的问题,感谢大家
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-12 16:09:22 | 显示全部楼层
Python初学者8号 发表于 2021-2-10 09:27
我晓得了,是因为我在idle里面测试的,我在sublime测试是错的,估计是shell的问题,感谢大家

解决了楼主记得结帖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-12 21:21:58 | 显示全部楼层
昨非 发表于 2021-2-12 16:09
解决了楼主记得结帖

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 13:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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