您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python-为什么此迭代的列表增长代码使IndexError:列表分配索引超出范围?

Python-为什么此迭代的列表增长代码使IndexError:列表分配索引超出范围?

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

请尝试以下操作,以将新元素添加到列表的末尾:

@H_403_1@for l in i:
    j.append(l)

当然,如果你只想复制一个现有列表,则你永远不会在实践中这样做。你只需:

@H_403_1@j = list(i)

另外,如果你想像其他语言的数组一样使用python列表,则可以预先创建一个列表,并将其元素设置为空值(@H_403_1@None在下面的示例中),然后在特定位置覆盖值:

@H_403_1@i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
#j == [None, None, None, None, None, None]
k = 0

for l in i:
   j[k] = l
   k += 1

要意识到的是,list对象将不允许你将值分配给不存在的索引。

python 2022/1/1 18:20:52 有506人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶