numpy数组和python列表是否被优化为动态增长?

The*_*ist 5 python arrays optimization numpy

我已经做了很多事情,需要我使用list.append()函数,也numpy.append()适用于numpy数组.我注意到当阵列的大小很大时,两者都变得非常慢.

我需要一个动态增长的数组,大小约为100万个元素.我可以自己实现这个,就像std::vector在C++中一样,通过添加无法从外部访问的缓冲区长度(保留长度).但我必须重新发明轮子吗?我想它应该在某个地方实现.所以我的问题是:Python中是否存在这样的事情?

我的意思是:在Python中是否存在能够在O(C)大多数时间内以时间复杂度动态增长的数组类型?

blu*_*ote 1

两者都使用底层数组。相反,您可以使用collections.deque专门用于在两端添加和删除元素的函数,复杂度为 O(1)