(tl;dr:对您的问题的确切答案是numpy.empty或numpy.empty_like,但是您可能不在乎,可以使用myList = [None]*10000。)
简单方法
您可以将列表初始化为所有相同的元素。使用一个非数字值(如果以后使用它会给出一个错误,这是一件好事)或类似于0(不寻常)的东西是否在语义上有意义?如果您正在编写稀疏矩阵或“默认”值应为0且不担心错误,则可能有用)取决于您:>>> [None for _ in range(10)]
[None, None, None, None, None, None, None, None, None, None]
(这里_只是一个变量名,您可以使用i。)
您也可以这样做:>>> [None]*10
[None, None, None, None, None, None, None, None, None, None]
你可能不需要优化这个。还可以在每次需要时追加到数组中:>>> x = []
>>> for i in range(10):
>>> x.append(i)
简单方法的性能比较
哪个最好?>>> def initAndWrite_test():
... x = [None]*10000
... for i in range(10000):
... x[i] = i
...
>>> def initAndWrite2_test():
... x = [None for _ in range(10000