设为首页
收藏本站
切换到宽版
登录
注册
找回密码
搜索
搜索
本版
文章
帖子
用户
快捷导航
易学开发平台
易学在线课堂
易学智能论坛
BBS
易学智能
»
易学智能论坛
›
技术大讨论
›
Python开发
›
IndexError: list assignment index is out of range
返回列表
查看:
2128
|
回复:
4
IndexError: list assignment index is out of range
[复制链接]
令狐少侠
令狐少侠
当前离线
积分
180
10
主题
72
帖子
180
积分
注册会员
注册会员, 积分 180, 距离下一级还需 20 积分
注册会员, 积分 180, 距离下一级还需 20 积分
积分
180
发消息
发表于 2018-9-18 16:08:27
|
显示全部楼层
|
阅读模式
请考虑以下代码:
i = [1, 2, 3, 5, 8, 13]
j = []
k = 0
for l in i:
j[k] = l
k += 1
print j
复制代码
输出(Win 7 32位上的Python 2.6.6)是:
> Traceback (most recent call last):
> j[k] = l IndexError: list assignment index out of range
复制代码
我不明白。有人知道如何清理它吗?
回复
使用道具
举报
强人锁男
强人锁男
当前离线
积分
199
11
主题
80
帖子
199
积分
注册会员
注册会员, 积分 199, 距离下一级还需 1 积分
注册会员, 积分 199, 距离下一级还需 1 积分
积分
199
发消息
发表于 2018-9-18 16:09:14
|
显示全部楼层
j是一个空列表,但是那你尝试[0]在第一次迭代中写入元素,该迭代尚不存在。
请尝试以下方法,将新元素添加到列表末尾:
for l in i:
j.append(l)
复制代码
回复
使用道具
举报
蛋蛋超人
蛋蛋超人
当前离线
积分
185
9
主题
74
帖子
185
积分
注册会员
注册会员, 积分 185, 距离下一级还需 15 积分
注册会员, 积分 185, 距离下一级还需 15 积分
积分
185
发消息
发表于 2018-9-18 16:11:33
|
显示全部楼层
你的另一个选择是初始化j:
j = [None]*max(i)
回复
使用道具
举报
天使与魔鬼
天使与魔鬼
当前离线
积分
159
11
主题
63
帖子
159
积分
注册会员
注册会员, 积分 159, 距离下一级还需 41 积分
注册会员, 积分 159, 距离下一级还需 41 积分
积分
159
发消息
发表于 2018-9-18 16:12:03
|
显示全部楼层
做j.append(l)而不是j[k] = l避免k。
回复
使用道具
举报
I_Like_AI
I_Like_AI
当前离线
积分
310
15
主题
97
帖子
310
积分
论坛管理
积分
310
发消息
发表于 2018-10-10 08:09:52
|
显示全部楼层
学到了
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表