- 主题:Python 的标准模块 array 是不是内存连续的
leetcode 与用 Python 代码验证算法的某些特性并没有太大关系
最多只能说明代码是正确的
【 在 gfkid 的大作中提到: 】
: leetcode有Python代码的测试,也还行,也不是完全不行
: 只不过感觉Python的list是有优化的
: 让学生自己去钻研吧
: ...................
--
FROM 120.253.228.*
应该是 CPU 读取方式不同,也就是答主提到的 Cache 命中率
【 在 iMx 的大作中提到: 】
: C布局和F布局,是对语句解读不一样,一个是前面是先变的维一个是后面先变的维,内
: 存上数据顺序还是一样的吧
--
FROM 117.143.144.*
老外的书中提到:Python 的 list 也是基于数组的
看起来你的 Python 源代码非常熟悉
想问一下:老外的说法是正确的嘛?
如果是,那么我觉得基于 list 开发的数据结构也可以认为是基于数组的
【 在 CKevin 的大作中提到: 】
: 关于id的话,这里面还有一个事儿,cpython实现中的id取的是对象的地址,而不是C意义上的数组元素的地址。
: 我猜你会不会是这么试的:
: a = array.array('i')
: ...................
--
FROM 117.143.146.*
我说"基于",并没说"是"
我想了解 list 的数据结构里的内存布局
虽然它被 PVM 隐藏了
【 在 poggy 的大作中提到: 】
:看名字它也不是数组啊, list就是list,:数组是 array 和 ndarray。
--
FROM 101.82.132.*
多谢帮我确认这个事实
list 被 Python 包了很多层,并且在虚拟机上工作
个人认为,分析这种数据结构的时空效率,有点空中楼阁的意味
【 在 CKevin 的大作中提到: 】
: cpython的实现中list是基于数组的,只不过数组中保存的是每个对象的指针而不是对象本身了,这个和array是有区别的。
--
FROM 117.143.146.*