尝试通过单独分配每个元素来创建列表时,您可能会遇到 IndexError。当您在尚不存在的空列表中指定索引时,就会出现此问题。
例如,考虑以下代码:
i = [1, 2, 3, 5, 8, 13] j = [] k = 0 for l in i: j[k] = l k += 1
当您运行此代码时,您将收到“IndexError:列表分配索引超出范围”错误。要解决此问题,您应该使用append()方法将元素添加到列表末尾:
for l in i: j.append(l)
但是,如果您想要类似数组的行为,您可以预先填充列表使用 None 值,然后在特定索引处覆盖它们:
i = [1, 2, 3, 5, 8, 13] j = [None] * len(i) k = 0 for l in i: j[k] = l k += 1
总之,Python 列表需要预先存在的索引进行分配,并提供append() 方法以方便扩展。要模拟数组,您可以手动创建一个包含 None 占位符的列表,然后按索引分配值。
以上是为什么 Python 中的列表赋值失败并出现 IndexError,以及如何正确追加元素?的详细内容。更多信息请关注PHP中文网其他相关文章!