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

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

请考虑以下代码:


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

我想这很简单,我不明白。有人可以清理它吗?


侃侃无极
浏览 990回答 3
3回答

胡说叔叔

j是一个空列表,但是您尝试[0]在第一次迭代中写入元素,该迭代尚不存在。请尝试以下方法,将新元素添加到列表末尾:for l in i:     j.append(l)

holdtom

您的另一个选择是初始化j:j = [None] * len(i)

ITMISS

做j.append(l)而不是j[k] = l避免k。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python