• Python中的列表


    本篇主要介绍了Python中列表的概念,底层的原理,操作方法:包含增删改查以及其他常用方法。

    1.列表的概念

      列表是包含0个或多个对象引用的有序序列,支出与字符串以及元组一样的分片与步距语言,与字符串和元组不同的是,列表是可变的,因为列表存储的是对象引用,所以列表可以存储任何类型的数据

    2.列表的底层实现原理

    首先应该了解什么是顺序表

    顺序表:数据维护的是顺序关系,线性关系,数据组成一个序列

      顺序表的形式
        1、连续的存储空间,在空间中存储元素数据,所有的数据类型一致
        2、连接的存储空间,在空间中存储的是元素的地址,可以存储类型的元素,python中的列表使用这种方式

      顺序表的结构
        1、一体式结构,连续的存储空间,表头和元素存储区在一块,扩容后,内存首地址变化
        2、分离式结构,表头和元素存储区在两块空间,表头中有一个地址记录元素存储区,扩容后,内存首地址不变,python中的列表使用这种方式

    3.创建列表的方法

    # 1.直接声明
    list1 = []
    # 2.使用list方法
    list2=list()

    4.列表中常见的方法

    # encoding=utf-8
    # 一.增删改查方法
    # 1.增加元素
    list1 = [1, "b", 3, 'c']
    list1.append('a')  # 方式1:向list1尾部添加
    print(list1)  # [1, 'b', 3, 'c', 'a']
    list1.insert(4, 'b')  # 方式2:插入一个元素 参数:位置,object
    print(list1)  # [1, 'b', 3, 'c', 'b', 'a']
    list2 = [1, 2]
    list1.extend(list2)  # 方式3:扩展列表,参数:iterable参数 # 即元组,列表
    print(list1)  # [1, 'b', 3, 'c', 'b', 'a', 1, 2]
    list1 += list2  # 方式4:添加列表,参数:object,和append()一样
    print(list1)  # [1, 'b', 3, 'c', 'b', 'a', 1, 2, 1, 2]
    # 2.删除元素
    list1.remove('a')  # 删除方式1:删除第一次出现的元素
    print(list1)  # [1, 'b', 3, 'c', 'b', 1, 2, 1, 2]
    list1.pop()  # 删除方式2:pop 可选参数index删除指定位置的元素,默认为最后一个元素
    print(list1)  # [1, 'b', 3, 'c', 'b', 1, 2, 1]
    # del list1  # 删除方式,3:可以删除整个列表或指定元素或者列表切片,删除后无法访问。
    # del list1[1]
    # print(list1)
    # 3.更新元素
    list1[1] = "ff"  # 通过下表,参数是下表位置,如果下表不存在,报错
    print(list1)  # [1, 'ff', 3, 'c', 'b', 1, 2, 1]
    # 4.查找元素
    for i in list1:  # 直接通过下表或者通过遍历比较
        print(i)
    print(list1[1])
    
    # 二.截取操作:和字符串一样[start:end:step],不在举例
    # 三.其他方法:
    print("-" * 100)
    print(list1.count('a'))  # 0 统计某个元素在列表中出现的次数
    print(list1)  # [1, 'ff', 3, 'c', 'b', 1, 2, 1]
    list1.reverse()  # 反转列表中元素
    print(list1)  # [1, 2, 1, 'b', 'c', 3, 'ff', 1]
    list1 = [1, 3, 4, 2]
    list1.sort()  # 对原列表进行排序 默认从小到大
    print(list1)  # [1, 2, 3, 4]
    print(len(list1))  # 4
    print(max(list1))  # 4
    print(min(list1))  # 1
    tuple1 = (1, 2)
    print(list(tuple1))  # [1, 2]
    str1 = "abc"
    print(list(str1))
    dict1 = {1: "a", 2: "c"}
    print(list(dict1))  # [1, 2]

     

  • 相关阅读:
    覆盖率测试工具gcov的前端工具_LCOV
    LTE切换与TAU问题
    LTE 切换过程中的数据切换
    TCP数据流稳定性--TCP分片,重组及乱序
    【Android
    【Android
    【Android
    【RN
    【RN
    【RN
  • 原文地址:https://www.cnblogs.com/greatfish/p/6045093.html
Copyright © 2020-2023  润新知