Python经典面试题:列表和元组有什么异同?

Python经典面试题:列表和元组有什么异同?

列表和元组是Python中最常用的两种数据结构,字典是第三种。 相同点:

  • 都是序列
  • 都可以存储任何数据类型
  • 可以通过索引访问
Python经典面试题:列表和元组有什么异同?

语法差异

使用方括号[]创建列表,而使用括号()创建元组。 请看以下示例:

Python经典面试题:列表和元组有什么异同?

是否可变

列表是可变的,而元组是不可变的,这标志着两者之间的关键差异。

我们可以修改列表的值,但是不修改元组的值。

由于列表是可变的,我们不能将列表用作字典中的key。 但可以使用元组作为字典key。

Python经典面试题:列表和元组有什么异同?

重用与拷贝

元组无法复制。 原因是元组是不可变的。 如果运行tuple(tuple_name)将返回自己。

Python经典面试题:列表和元组有什么异同?

大小差异

Python将低开销的较大的块分配给元组,因为它们是不可变的。 对于列表则分配小内存块。 与列表相比,元组的内存更小。 当你拥有大量元素时,元组比列表快。列表的长度是可变的。

Python经典面试题:列表和元组有什么异同?

同构与异构

习惯上元组多用于用于存储异构元素,异构元素即不同数据类型的元素,比如(ip,port)。 另一方面,列表用于存储异构元素,这些元素属于相同类型的元素,比如[int1,in2,in3]。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容