数据结构---array与python list的区别

之前说过,python采用的是动态数组,并且我们可以用list来实现array结构。那么list和array是否完全一样呢?答案是否定的。

 

在array中,每个元素会以二进制的形式储存在内存里。比如:数值直接转换为二进制编码,字符串则先通过ASCII码转换为数值,再进而转换为二进制编码。因此,array里只能储存相同类型的元素,并需要事先指定元素的类型。例如在Java中,需要指定元素是int,long或是char,等等。

 

在python list中,每个元素其实是一个指针(pointer),指向包含这个python对象所有信息的某个内存位置。这里面包含了大量的额外信息,因此python可以自由、动态地编码。也就是说,python list里可以储存不同类型的元素,且不需要事先指定元素的类型

 

此外,array可以进行四则运算,而python list不可以进行四则运算。比如:在python中,[1, 2] + [1, 2] 结果为[1, 2, 1, 2],而非[2, 4]。

 

posted @ 2021-03-03 20:57  HuZihu  阅读(346)  评论(0编辑  收藏  举报