当我已经知道列表最终的大小时,我能否设置list
的容量?我试图避免Python在向其添加项目时重新分配内存。
在构造函数中,设置capacity
、size
、length
或len
是不起作用的。
def merge_lists(a, b):
result = list(capacity=len(a) + len(b))
...
编辑:……无需实际添加任何元素。
当我已经知道列表最终的大小时,我能否设置list
的容量?我试图避免Python在向其添加项目时重新分配内存。
在构造函数中,设置capacity
、size
、length
或len
是不起作用的。
def merge_lists(a, b):
result = list(capacity=len(a) + len(b))
...
编辑:……无需实际添加任何元素。
假设您想要10个元素,可以这样做:
l = [None] * 10
或者
l = range(10)
l.append(42)
后,l.index(42)
的结果将为 10
而不是 0
。 - R2-D2In [1]: result = [0]*100
In [2]: len(result)
Out[2]: 100