• Python列表详解



    刷完这60个标准库模块,成为Python骨灰级玩家

    索引和逆转

    列表几乎是Python中使用频率最高的数据结构了,一般来说,只需用逗号分隔,并用方括号括起来,便是列表。

    x = [1,2,3,4,5]
    
    • 1

    列表可通过[]来进行元素索引和更改,同时支持带有:的索引语句,例如

    >>> x = [1,2,3,4,5]
    >>> x[0]
    1
    >>> x[0] = 1
    >>> x
    [1, 2, 3, 4, 5]
    >>> x[2:5]
    [3, 4, 5]
    >>> x[:5:2]
    [1, 3, 5]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    【reverse】方法可以实现列表内容的逆转

    >>> x.reverse()
    >>> x
    [5, 4, 3, 2, 1]
    
    • 1
    • 2
    • 3

    如果只是想得到逆转后的列表,而不希望改变原始列表的顺序,那么可以通过:索引语句来实现。下面就来演示一下,但注意,x已经经过reverse了

    >>> x
    [5, 4, 3, 2, 1]
    >>> x[::-1]
    [1, 2, 3, 4, 5]
    >>> x[::-2]
    [1, 3, 5]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    增删元素和查找元素

    在Python中,列表中的内容可随意增减,与此相关的方法有append, extend, insert, pop, remove等,此外还有del可删除列表中特定的项。

    其中,【append, extend, insert】用于增添元素,示例如下

    >>> x = [1,2,3,4,5]
    >>> x.append(8)
    >>> print(x)
    [1, 2, 3, 4, 5, 8]
    >>> x.extend([2,3,4])
    >>> print(x)
    [1, 2, 3, 4, 5, 8, 2, 3, 4]
    >>> x.insert(3,10)
    >>> print(x)
    [1, 2, 3, 10, 4, 5, 8, 2, 3, 4]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    其中x.append将元素添加到x的末尾;x.extend将一个列表拼接在x的结尾;x.insert(index, obj)可将obj插入到x的第index位置处。

    【pop, remove, del】可删除列表中特定的项, 示例如下

    >>> x.pop(0)
    1
    >>> print(x)
    [2, 3, 10, 4, 5, 8, 2, 3, 4]
    >>> x.pop()
    4
    >>> print(x)
    [2, 3, 10, 4, 5, 8, 2, 3]
    >>> x.remove(2)
    >>> print(x)
    [3, 10, 4, 5, 8, 2, 3]
    >>> print(x)
    [10, 4, 5, 8, 2, 3]
    >>> del x[0]
    >>> print(x)
    [10, 4, 5, 8, 2, 3]
    >>> del x[2]
    >>> print(x)
    [10, 4, 8, 2, 3]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    其中,x.pop(index)表示弹出在index位置处的元素,并返回。所以x.pop(0)弹出了第0个元素1。x.pop()默认index=-1,即弹出最后一个值,所以x.pop()弹出了最后一个值。

    x.remove(obj)则删除x中的所有obj对象,所以x.remove(2)删除了x中所有2。

    此外,还可以通过del直接删除对象。

    x.remove(obj)可删除x中的所有obj对象,那么在删除之前一定会对obj定位,在python中,列表提供了index函数用于查找某个元素的首个位置

    >>> x.index(8)
    2
    >>> x.append(8)
    >>> x.index(8)
    2
    
    • 1
    • 2
    • 3
    • 4
    • 5

    排序

    对列表而言,另一个重要的任务就是排序,Python中提供了基础的排序函数sort,示例如下

    >>> x.sort()
    >>> print(x)
    [2, 3, 4, 8, 8, 10]
    >>> x.sort(reverse=True)
    >>> print(x)
    [10, 8, 8, 4, 3, 2]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其中,reverse表示逆向排序。此外,sort函数还有参数key,可以用指定排序函数

    >>> x.sort(key=lambda x : (x-5)**2)
    >>> x
    [4, 3, 8, 8, 2, 10]
    
    • 1
    • 2
    • 3

    上例中 ,以 y = ( x − 5 ) 2 y=(x-5)^2 y=(x5)2为排序函数,将所有x中的元素带入函数后,再行比较,得到上面的排序结果。

  • 相关阅读:
    JS高级-语言特性(持续更新一)
    2023年中国一次性塑料餐具市场供需现状、市场规模及行业发展前景分析[图]
    设计模式之命令模式
    python基础:获取文件编码格式
    小目标检测文章阅读
    ros建图过程中给上位机发布地图信息
    Flutter - APP跳转高德、百度、腾讯、谷歌地图
    Nuxt 菜鸟入门学习笔记七:SEO 和 Meta 设置
    数据治理之数据质量评估办法(参考)
    linux系统时钟控制
  • 原文地址:https://blog.csdn.net/m0_37816922/article/details/128779275