Python基础:列表(list)和元组

发布时间:2019-06-06 20:34:19编辑:auto阅读(1902)

     

    学一门语言,可以用对比其他语言方法加深对这门语言特点的理解。

    一、定义:列表和元组,都是一个可以放置任意数据类型的有序集合。

      mutable的列表:动态的,可以改变元素

      immutable的元组:静态的,不可以改变元素

    二、支持负数索引,支持切片,支持嵌套

      切片操作:

    list = [1, 2, 3, 4]
    l[1:3] # 返回列表中索引从 1 到 2 的子列表 (不包含3)
    [2, 3]
    
    tup = (1, 2, 3, 4)
    tup[1:3] # 返回元组中索引从 1 到 2 的子元组 (不包含3)
    (2, 3) 

     

      接着比较下list 与 tuple的存储空间与执行时间的差异。

    三、存储空间差异。

      tuple是静态的固定大小的,而list是动态分配存储空间,自动扩容的。

      同样的元素,list要存储指向元素的指针与要存储当前长度大小,所以要比tuple占更多的存储空间。例:

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

     四、使用场景

      存储数据固定不变的用tuple,如函数返回值

      存储数据可变的情况用用list.

     

     

    参考资料:

    极客时间《Python核心技术与实战》专栏

     

关键字

上一篇: python计算机基础(一)

下一篇: day07