相关疑难解决方法(0)

Python - 创建具有初始容量的列表

像这样的代码经常发生:

l = []
while foo:
    #baz
    l.append(bar)
    #qux
Run Code Online (Sandbox Code Playgroud)

如果您要将数千个元素追加到列表中,这非常慢,因为必须不断调整列表大小以适应新元素.

在Java中,您可以创建具有初始容量的ArrayList.如果您对列表的大小有所了解,那么效率会更高.

我知道像这样的代码通常可以重新考虑到列表理解中.但是,如果for/while循环非常复杂,那么这是不可行的.我们的Python程序员有没有相同的东西?

python dictionary initialization list

182
推荐指数
7
解决办法
16万
查看次数

python 中的堆栈/列表 - 它如何追加?

如果我有一个清单:

list_1 = ["apples", "apricots", "oranges"]
Run Code Online (Sandbox Code Playgroud)

我将一个新项目添加到列表中:“浆果”

list_1 = ["apples", "apricots", "oranges", "berries"]
Run Code Online (Sandbox Code Playgroud)

在幕后(可以这么说),我想我记得读过Python创建了另一个列表(list_2)并将其指向原始列表(list_1),以便list_1保持静态......如果这是真的,它看起来会吗?像这样的东西(在引擎盖下)?

list_1 = ["apples", "apricots", ["oranges", "berries"]]
Run Code Online (Sandbox Code Playgroud)

所以这样一来,原来的列表就保持了原来的大小。这是正确的看待方式吗?

python arrays list python-internals

4
推荐指数
2
解决办法
3051
查看次数