zoukankan      html  css  js  c++  java
  • 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]

     

  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/greatfish/p/6045093.html
Copyright © 2011-2022 走看看