鱼C论坛

 找回密码
 立即注册
查看: 8696|回复: 7

[已解决]求问,报错:pop index out of range

[复制链接]
发表于 2018-3-26 19:20:58 | 显示全部楼层 |阅读模式

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

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

x
  1. member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
  2. for i in range(10):
  3.     print(member.pop(i))
复制代码


最后报错:
  1. ======
  2. 小甲鱼
  3. 黑夜
  4. 迷途
  5. 怡静
  6. 秋舞斜阳
  7. Traceback (most recent call last):
  8.   File "F:/python36/demos/输出列表内容.py", line 3, in <module>
  9.     print(member.pop(i))
  10. IndexError: pop index out of range
复制代码


请问为什么呀?完全不知道该怎么改
最佳答案
2018-3-26 19:36:36
member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
for i in range(10):
    print(member.pop())

这样就是对的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-26 19:36:05 | 显示全部楼层
用pop()不能加元素兄弟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2018-3-26 19:36:36 | 显示全部楼层    本楼为最佳答案   
member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
for i in range(10):
    print(member.pop())

这样就是对的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-3-27 01:52:16 | 显示全部楼层
因为 pop() 一次就少一个元素,而你是range(10),你将其改为range(5)就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 10:49:22 | 显示全部楼层
南城顾她 发表于 2018-3-26 19:36
member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
for i in range(10):
    ...

噢噢好的,不好意思,还有有两个问题
1.pop()函数,括号内只能加数字吗?
2.最后改成print(member.pop())的话,输出就成了以下,顺序是反的(请问是为什么呀?)
  1. =====
  2. 88
  3. 秋舞斜阳
  4. 90
  5. 怡静
  6. 85
  7. 迷途
  8. 90
  9. 黑夜
  10. 88
  11. 小甲鱼
  12. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 10:52:53 | 显示全部楼层
南城顾她 发表于 2018-3-26 19:36
member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
for i in range(10):
    ...

噢噢 我知道了,pop()是默认移除最后一个元素的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 11:10:11 | 显示全部楼层
南城顾她 发表于 2018-3-26 19:36
member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
for i in range(10):
    ...
  1. member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
  2. member=member[::-1]
  3. for i in range(10):
  4.     print(member.pop())
复制代码


这样就 ok 了 谢谢大神
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 11:11:21 | 显示全部楼层
wgz890813 发表于 2018-3-27 01:52
因为 pop() 一次就少一个元素,而你是range(10),你将其改为range(5)就可以了

好的 ,但是我是想把所有元素都输出呢,所以就有点问题了~~经过你们的指导,我发现这样就可以了~
  1. member=['小甲鱼','88','黑夜','90','迷途','85','怡静','90','秋舞斜阳','88']
  2. member=member[::-1]
  3. for i in range(10):
  4.     print(member.pop())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-30 08:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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