为列表分配内存

时间:2015-03-29 00:34:08

标签: python list memory

当我已经知道列表最终会有的大小时,我可以设置list的容量吗?我试图避免Python在append项目时重新分配内存。

在构造函数中,设置capacitysizelengthlen不起作用。

def merge_lists(a, b):
    result = list(capacity=len(a) + len(b))
    ...

编辑: ...无需实际添加任何元素。

2 个答案:

答案 0 :(得分:4)

假设你想要10个元素,你可以这样做:

l = [None] * 10

l = range(10)

答案 1 :(得分:1)

我认为你能得到的最接近的是:

In [1]: result = [0]*100

In [2]: len(result)
Out[2]: 100

这将使结果在你做任何事情之前保留100个元素。