列表

作者: 沐沐_妉杉 | 来源:发表于2021-03-09 16:24 被阅读0次
    一、为什么需要列表
    1. 变量可以存储一个元素,而列表是一个大的容器,可以存储N多个元素(可以为不同的数据类型),程序可以方便的对这些数据进行整体操作。

    2. 列表相当于其他语言中的数组

    3. 列表示意图:

    1. 程序示意图:
    1. 内存示意图:
    二、列表的创建
    1. 列表需要使用中括号[],元素之间使用英文的逗号,进行分隔
    2. 列表的创建方式

    (1)使用中括号[]

    (2)使用内置函数list()

    三、列表的特点
    1. 列表元素按顺序有序排列
    2. 索引映射唯一数据

    列表索引可以是正数索引,也可以是负数索引,如下图:

    示例:

    3. 列表可以存储重复的数据
    4. 任意数据类型混存
    5. 根据需要,动态分配和回收内存

    根据元素多少,动态分配内存空间

    四、列表的查询操作
    (一)获取列表元素中指定的元素索引

    .index

    1. 如果所查列表中存在N个相同元素,只返回相同元素中第一个元素的索引

    2. 如果查询的元素在列表中不存在,则会抛出ValueEver

    3. 可以在指定的start和stop之间进行查找

    存在情况:

    不存在情况:

    (二)获取列表中的单个元素

    1. 正向索引从0到N-1(N为元素个数)

    2. 逆向索引从-N到-1

    3. 指定索引不存在,抛出IndexEver

    (三)获取列表中的多个元素

    1. 语法格式:列表名[start:stop:step]

    2. 切片操作:

    (1)切面的结果:原列表片段的拷贝

    (2)切片的范围:[start,stop)

    (3)step默认为1:可简写为[start:stop]

    (4)step为正数:从start开始,往后计算切片

    • [:stop:step]切面的第一个元素默认是列表的第一个元素
    • [start::step]切面的最后一个元素默认是列表的最后一个元素

    (5)step为负数:从start开始,往前计算切片

    • [:stop:step]切面的第一个元素默认是列表的最后一个元素
    • [start::step]切面的最后一个元素默认是列表的第一个元素
    (四)判断指定元素在列表中是否存在

    元素 in 列表名

    元素 not in 列表名

    (五)列表元素的遍历

    for 迭代变量 in 列表名:

    五、列表元素的增、删、改
    (一)列表元素的添加
    1. append()在列表的末尾添加一个元素
    1. extend()在列表的末尾至少添加一个元素

    首先,如果我们用append()来添加,可以看到程序是把lst2作为一个元素添加到列表的末尾,如下:

    下面,我们用expend()来添加:

    1. insert()在列表的任意一个位置添加一个元素
    1. 切片:在列表任意位置添加至少一个元素

    用切片在列表任意位置添加元素,可以理解为在某位置对列表的元素进行替换:

    比如下面这幅图,在列表索引为1的位置添加lst2,默认最后一个元素为列表的最后一个元素,也就是把索引为1之后的元素切掉。

    可以看到运行结果:hello之后的元素替换为lst2

    我们看下一个例子:

    在索引为1到3的位置添加lst2:

    (二)列表元素的删除

    1. remove()

    (1)一次删除一个元素

    (2)重复元素只删除第一个

    (3)元素不存在抛出ValueError

    2. pop()

    (1)删除一个指定索引位置上的元素

    (2)不指定索引,删除列表中最后一个元素

    (3)指定索引不存在抛出ValueError

    3. 切片:一次最少删除一个元素

    产生新列表:

    不产生新列表:

    4. clear()清空列表

    5. del删除列表

    (三)列表元素的修改
    1. 为指定索引的元素赋予一个新值
    1. 为指定的切片赋予一个新值
    六、列表元素的排序
    常见的两种方式:

    1. 调用sort()

    列表中的所有元素默认按照从小到大的顺序进行排序,不会产生新列表。

    可以指定reverse=False,进行升序排序

    可以指定reverse=True,进行降序排序。

    2. 调用内置函数sorted()

    列表中的所有元素默认按照从小到大的顺序进行排序,会产生新列表。

    可以指定reverse=True,进行降序排序

    七、列表生成式

    列表生成式简称“生成列表的公式”。

    (一)语法格式

    例:[i*i for i in range(1,10)]

    (二)程序图示

    注意:“表示列表元素的表达式”(列表元素真正包含的值)中,通常包含自定义变量

    练习:

    视频来源:哔哩哔哩马士兵Python教学

    相关文章

      网友评论

          本文标题:列表

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