之前说过,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]。

 

相关文章:

  • 2021-10-23
  • 2021-11-07
  • 2021-12-09
  • 2021-11-16
  • 2021-10-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-18
  • 2022-12-23
  • 2021-07-03
  • 2022-01-20
  • 2021-08-19
  • 2022-12-23
  • 2021-11-12
相关资源
相似解决方案