如何知道你在Python中是否有一个非连续的列表?

时间:2017-02-12 04:28:04

标签: python memory

对于任意大的N,不可能将所有数据连续存储在内存中。

例如,在Python中,如果我做arr = [0] * N,对于足够大的N,这不能是连续的。

Python为此做了什么?我认为它是非连续存储的。这有什么作用?

1 个答案:

答案 0 :(得分:1)

CPython列表总是连续的,至少在虚拟内存中是这样。 (他们没有什么可以合理地控制物理连续性和尝试的理由。)CPython没有尝试在面对内存碎片或类似的东西时将列表分成不连续的段。

如果您想亲眼看看,请查看Include/listobject.hObjects/listobject.c。关于不连续的列表,没有任何内容。