美文网首页
Python核心速记01

Python核心速记01

作者: Nefelibatas | 来源:发表于2022-04-24 16:33 被阅读0次

    列表与元组

    列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。

    元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。

    如果想对已有的元组做任何"改变",就只能重新开辟一块内存,创建新的元组。

    对于列表来说加入元素会修改原来列表中的元素,而不会创建新的列表。

    Python 中的列表和元组都支持负数索引。

    除了基本的初始化,索引外,列表和元组都支持切片操作。

    列表和元组都可以随意嵌套。

    两者也可以通过 list() 和 tuple() 函数相互转换。

    list((1, 2, 3))
    
    tuple([1, 2, 3])
    

    内置函数

    l = [3, 2, 3, 7, 8, 1]
    
    l.count(3) # count(item) 表示统计列表 / 元组中 item 出现的次数。
    
    l.index(7) # 示返回列表 / 元组中 item 第一次出现该值的索引。
    
    l.reverse()
    
    l.sort()
    
    tup = (3, 2, 3, 7, 8, 1)
    
    tup.count(3)
    
    tup.index(7)
    
    # reversed() 和 sorted() 表示对列表 / 元组进行倒转和排序
    # reversed() 返回一个倒转后的迭代器
    # sorted() 返回排好序的新列表。
    
    list(reversed(tup))
    
    sorted(tup)
    

    列表是动态的,所以需要存储指针,来指向对应的元素。

    由于列表可变,所以需要额外存储已经分配的长度大小(8 字节),这样才可以实时追踪列表空间的使用情况。

    当空间不足时,及时分配额外空间。

    元组长度大小固定,元素不可变,所以存储空间固定。

    元组要比列表更加轻量级一些,性能速度要略优于列表。

    如果想要增加、删减或者改变元素,那么列表显然更优。对于元组必须得通过新建一个元组来完成。

    如果存储的数据和数量不变,比如你需要返回的是一个地点的经纬度,然后直接传给前端渲染,那么肯定选用元组更合适。

    如果存储的数据或数量是可变的,比如社交平台上的一个日志功能,是统计一个用户在一周之内看了哪些用户的帖子,那么则用列表更合适。

    列表与元组总结

    列表和元组都是有序的,可以存储任意数据类型的集合,区别主要在于下面这两点。

    • 列表是动态的,长度可变,可以随意的增加、删减或改变元素。
    • 列表的存储空间略大于元组,性能略逊于元组。元组是静态的,长度大小固定,不可以对元素进行增加、删减或者改变操作。元组相对于列表更加轻量级,性能稍优。

    相关文章

      网友评论

          本文标题:Python核心速记01

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