Python面试必考重点之列表,元组和字典第八关——详细描述列表与元组的区别,并举例说明

242 阅读2分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

面试题第八关:

第一部分——考点:

  • 了解列表和元组的主要区别

第二部分——面试题:

1.面试题一:请详细描述列表与元组的区别,并举例说明。


第三部分——解析:

面试题一 之 列表与元组的区别,并举例说明:

(1)语法差异:

a = (1,2,3)	 # 元组
b = [1,2,3]	 #列表

(2)元组是只读的,列表是可读写的:

b[1] = 3  #可执行
b(1) = 4  #抛出异常

(3)使用tuple函数后,元组仍然为自身,而使用list函数后,会复制一个新列表:

copy_a = tuple(a)
print(a is copy_a)  # True

copy_b = list(b)
print(b is copy_b)  # False

(4)大小不一样,元组占用的空间更小(大的内存块),当元素比较多时,元组速度更快:

print(a.__sizeof__())
print(b.__sizeof__())

第四部分——知识补给站:

①关于列表和元组这些区别本质上是因为两者在设计哲学上的不同:

  • 列表可被用于保存多个互相独立对象的数据集合;
  • 元组用于描述一个不会改不安的事务的多个属性。

②上面我们说过,元组是静态的,那么元组的静态特性有什么好处呢?
答案是资源缓存。

  • Python是一门垃圾收集语言,这意味着当一个变量不再被使用时,Python会将该变量使用的内存释放,以供别人使用。然而,对于特定长度的元组,即使它们没有被使用,它们的内存空间也不会立刻释放,而是留待未来使用!

🔆In The End!

👑有关于Me

个人简介:我是一个硬件出身的计算机爱好者,喜欢program,源于热爱,乐于分享技术与所见所闻所感所得。文章涉及Python,C,单片机,HTML/CSS/JavaScript及算法,数据结构等。

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

认真仔细看完本文的小伙伴们,可以点赞收藏并评论出你们的读后感。并可关注本博主,在今后的日子里阅读更多技术文哦~

如有错误或者言语不恰当的地方可在评论区指出,谢谢!
如转载此文请联系我征得本人同意,并标注出处及本博主名,谢谢 !