对于任意大的N,不可能将所有数据连续存储在内存中。
例如,在Python中,如果我做arr = [0] * N,对于足够大的N,这不能是连续的。
Python为此做了什么?我认为它是非连续存储的。这有什么作用?
答案 0 :(得分:1)
CPython列表总是连续的,至少在虚拟内存中是这样。 (他们没有什么可以合理地控制物理连续性和尝试的理由。)CPython没有尝试在面对内存碎片或类似的东西时将列表分成不连续的段。
如果您想亲眼看看,请查看Include/listobject.h
和Objects/listobject.c
。关于不连续的列表,没有任何内容。