美文网首页
《Python 核心技术与实战》 学习笔记 Day03 列表和元

《Python 核心技术与实战》 学习笔记 Day03 列表和元

作者: _相信自己_ | 来源:发表于2023-01-17 17:49 被阅读0次

列表和元组基础

  • 列表和元组,都是一个可以放置任意数据类型的有序集合。
  • 在绝大多数编程语言中,集合的数据类型必须一致。对于 Python 的列表和元组来说,并无此要求。
l = [1, 2, 'hello', 'world'] # 列表中同时含有int和string类型的元素
l
[1, 2, 'hello', 'world']

tup = ('jason', 22) # 元组中同时含有int和string类型的元素
tup
('jason', 22)
  • 列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。
  • 元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。
l = [1, 2, 3, 4]
l[3] = 40 # 和很多语言类似,python中索引同样从0开始,l[3]表示访问列表的第四个元素
l
[1, 2, 3, 40]

tup = (1, 2, 3, 4)
tup[3] = 40
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

列表和元组存储方式的差异

列表和元组最重要的区别就是,列表是动态的、可变的,而元组是静态的、不可变的。

l = [1, 2, 3]
l.__sizeof__()
64
tup = (1, 2, 3)
tup.__sizeof__()
48

列表和元组的性能

元组要比列表更加轻量级一些,所以总体上来说,元组的性能速度要略优于列表。Python 会在后台,对静态数据做一些资源缓存(resource caching),但是对于一些静态变量,比如元组,如果它不被使用并且占用空间不大时,Python 会暂时缓存这部分内存。

列表和元组的使用场景

  1. 如果存储的数据和数量不变,那么肯定选用元组更合适。
  2. 如果存储的数据或数量是可变的,那么则用列表更合适。

相关文章

  • Python核心技术与实战笔记目录

    参考资料: 极客时间 Python核心技术与实战学习 Python核心技术与实战(极客时间)链接:http://g...

  • Python对象的比较和拷贝

    李文轩 2019-08-17声明:这是本人学习极客时间的Python核心技术与实战的笔记,有侵权请联系我。 ' =...

  • Python03 字符串

    以下主要是听极客时间:Python核心技术与实战时做的笔记 字符串是python一种常见的数据类型,比如函数的注释...

  • 2019-06-20

    “Python 实战及机器学习(深度学习)核心技术培训班” Python 是一门有条理的和强大的面向对象的程序设计...

  • 2019-06-30

    “Python 实战及机器学习(深度学习)核心技术培训班” Python 是一门有条理的和强大的面向对象的程序设计...

  • Python02 数据结构:字典和集合

    以下主要是听极客时间:Python核心技术与实战时做的笔记 对于每一门编程语言,数据结构都是重中之重。对于Pyth...

  • Python01 数据结构:列表和元组

    以下主要是听极客时间:Python核心技术与实战时做的笔记 对于每一门编程语言,数据结构都是重中之重。对于Pyth...

  • 极客时间

    我的已购专栏。 左耳听风 黄勇的OKR实战笔记 Kafka核心技术与实战 OpenResty从入门到实战 Java...

  • Effective Python 学习笔记 2

    Effective Python 学习笔记 2 用列表推导来取代map和filter 列表推导(list comm...

  • Redis线程那些事

    本文作为学习笔记,文章内容来自“极客时间”专栏《Redis核心技术与实战》,如有侵权,请告知,必即时删除。 Red...

网友评论

      本文标题:《Python 核心技术与实战》 学习笔记 Day03 列表和元

      本文链接:https://www.haomeiwen.com/subject/uuxxhdtx.html