为了账号安全,请及时绑定邮箱和手机立即绑定

IndexError:列表赋值索引超出范围

IndexError:列表赋值索引超出范围

侃侃无极 2019-08-06 16:15:37
IndexError:列表赋值索引超出范围请考虑以下代码:i = [1, 2, 3, 5, 8, 13]j = []k = 0for l in i:    j[k] = l    k += 1print j输出(Win 7 32位上的Python 2.6.6)是:> Traceback (most recent call last): >     j[k] = l IndexError: list assignment index out of range我想这很简单,我不明白。有人可以清理它吗?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

j是一个空列表,但是您尝试[0]在第一次迭代中写入元素,该迭代尚不存在。

请尝试以下方法,将新元素添加到列表末尾:

for l in i:
    j.append(l)


查看完整回答
反对 回复 2019-08-06
?
holdtom

TA贡献1805条经验 获得超10个赞

您的另一个选择是初始化j

j = [None] * len(i)


查看完整回答
反对 回复 2019-08-06
?
ITMISS

TA贡献1871条经验 获得超8个赞

j.append(l)而不是j[k] = l避免k


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 1008 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信