0

我正在尝试在 Python 中设置数组的索引,但它没有按预期运行:

theThing = []
theThing[0] = 0
'''Set theThing[0] to 0'''

这会产生以下错误:

Traceback (most recent call last):
  File "prog.py", line 2, in <module>
    theThing[0] = 0;
IndexError: list assignment index out of range

在 Python 中设置数组索引的正确语法是什么?

4

3 回答 3

5

Python 列表没有固定大小。要设置第0th 元素,您需要0th 元素:

>>> theThing = []
>>> theThing.append(12)
>>> theThing
[12]
>>> theThing[0] = 0
>>> theThing
[0]

JavaScript 的数组对象的工作方式与 Python 的有点不同,因为它会为您填充以前的值:

> x
[]
> x[3] = 5
5
> x
[undefined × 3, 5]
于 2013-04-05T02:01:23.127 回答
1

您正在尝试分配一个不存在的职位。如果要将元素添加到列表中,请执行

theThing.append(0)

如果您真的想分配给索引 0,那么您必须首先确保列表非空。

theThing = [None]
theThing[0] = 0
于 2013-04-05T02:01:01.200 回答
1

这取决于你真正需要什么。首先,您必须阅读有关列表的 Python 教程。 在你的情况下,你可以使用 smth 像:

lVals = [] 
lVals.append(0)
>>>[0]
lVals.append(1)
>>>[0, 1]
lVals[0] = 10
>>>[10, 1]
于 2013-04-05T02:02:26.123 回答