我是 Python 新手,有人告诉我“如果需要,Python 数组会自动扩展大小”。
这是真的吗?我在 Python 3.3.2 的文档中找不到它。任何能回答问题的真实资源或指导。谢谢。
我是 Python 新手,有人告诉我“如果需要,Python 数组会自动扩展大小”。
这是真的吗?我在 Python 3.3.2 的文档中找不到它。任何能回答问题的真实资源或指导。谢谢。
取决于您所说的“自动”是什么意思:
>>> foo = list()
>>> foo.append(1)
>>> foo
[1]
>>> foo[1] = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> foo[1:] = [0]
>>> foo
[1, 0]
因此append
增加列表的长度以容纳新元素。索引分配不会扩展数组。切片分配确实扩展了数组。
该语句指的是内存中的空间分配。是的,这是真的!您可以创建一个列表(不是数组,这是 python)并根据需要扩展、扩展、修改它,因为 Python 不限制大小。
>>> l = [1, 2]
>>> l.extend([3, 4, 5, 6])
>>> l
[1, 2, 3, 4, 5, 6]
在这里,您可以看到l
原来有两个项目,然后扩展,现在有 6 个项目。
接下来,您还可以将其缩短:
>>> l.pop()
6
>>> l
[1, 2, 3, 4, 5]
这将删除列表的最后一项。
修改列表的方法有很多种,您可以在此处查看详细信息。希望这可以帮助!