• 上手Python之列表


    数据容器

    为什么学习数据容器

    思考一个问题:如果我想要在程序中,记录5名学生的信息,如姓名。 如何做呢?

    学习数据容器,就是为了批量存储或批量使用多份数据 

    Python中的数据容器:

    一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素 每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。

    数据容器根据特点的不同,如:

    是否支持重复元素

    是否可以修改

    是否有序,

    等 分为5类,分别是: 列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

    什么是数据容器? 一种可以存储多个元素的Python数据类型

     Python有哪些数据容器? list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典) 它们各有特点,但都满足可容纳多个元素的特性。 

     数据容器:list(列表)

    为什么需要列表

    思考:有一个人的姓名(TOM)怎么在程序中存储?

    答:字符串变量

    思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗? 答:No,我们使用列表就可以了, 列表一次可以存储多个数据

    列表(list)类型,是数据容器的一类,我们来详细学习它。

    列表的定义

    基本语法:

    列表内的每一个数据,称之为元素

    以 [] 作为标识

    列表内每一个元素之间用, 逗号隔开 

    列表的定义方式:

    嵌套列表的定义:

     注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套

    列表的下标(索引)

    如何从列表中取出特定位置的数据呢? 我们可以使用:下标索引

    如图,列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增 我们只需要按照下标索引,即可取得对应位置的元素。

    列表的下标(索引) - 反向

    或者,可以反向索引,也就是从后向前:从-1开始,依次递减(-1、-2、-3......)

    如图,从后向前,下标索引为:-1、-2、-3,依次递减。

    嵌套列表的下标(索引) 

    如果列表是嵌套的列表,同样支持下标索引

    如图,下标就有2个层级了。

    1. 列表的下标索引是什么? 列表的每一个元素,都有编号称之为下标索引 从前向后的方向,编号从0开始递增 从后向前的方向,编号从-1开始递减

    2. 如何通过下标索引取出对应位置的元素呢? 列表[下标],即可取出

    3. 下标索引的注意事项: 要注意下标索引的取值范围,超出范围无法取出元素,并且会报错 

    列表的常用操作(方法)和特点 

    列表除了可以:

    定义

    使用下标索引获取值 以外,

    列表也提供了一系列功能:

    插入元素

    删除元素

    清空列表

    修改元素

    统计元素个数

    等等功能,这些功能我们都称之为:列表的方法

    列表的查询功能(方法)

    回忆:函数是一个封装的代码单元,可以提供特定功能。 在Python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法

    查找某元素的下标    

     功能:查找指定元素在列表的下标,如果找不到,报错ValueError    

     语法:列表.index(元素)      

     index就是列表对象(变量)内置的方法(函数)

    修改特定位置(索引)的元素值:

     语法:列表[下标] = 值      

    可以使用如上语法,直接对指定下标(正向、反向下标均可)的值进行:重新赋值(修改)

    插入元素

    语法:列表.insert(下标, 元素),在指定的下标位置,插入指定的元素 

    追加元素

     语法:列表.append(元素),将指定元素,追加到列表的尾部 

     追加元素方式2

    语法:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

    删除元素

    语法1: del 列表[下标]  

    语法2:列表.pop(下标)

    删除某元素在列表中的第一个匹配项

    语法:列表.remove(元素)

     清空列表内容

    语法:列表.clear()

    统计某元素在列表内的数量

    语法:列表.count(元素)

    统计列表内,有多少元素

    语法:len(列表)      

    可以得到一个int数字,表示列表内的元素数量 

    编号

    使用方式

    作用

    1

    列表.append(元素)

    向列表中追加一个元素

    2

    列表.extend(容器)

    将数据容器的内容依次取出,追加到列表尾部

    3

    列表.insert(下标元素)

    在指定下标处,插入指定的元素

    4

    del 列表[下标]

    删除列表指定下标元素

    5

    列表.pop(下标)

    除列表指定下标元素

    6

    列表.remove(元素)

    从前向后,删除此元素第一个匹配项

    7

    列表.clear()

    清空列表

    8

    列表.count(元素)

    统计此元素在列表中出现的次数

    9

    列表.index(元素)

    查找指定元素在列表的下标

    找不到报错ValueError

    10

    len(列表)

    统计容器内有多少元素

    列表的遍历 - while循环

    既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作。 将容器内的元素依次取出进行处理的行为,称之为:遍历、迭代。

    如何遍历列表的元素呢?

    可以使用前面学过的while循环

    如何在循环中取出列表的元素呢? 使用列表[下标]的方式取出

    循环条件如何控制?

    定义一个变量表示下标,从0开始 循环条件为 下标值 < 列表的元素数量

    除了while循环外,Python中还有另外一种循环形式:for循环。 对比while,for循环更加适合对列表等数据容器进行遍历。 

    表示,从容器内,依次取出元素并赋值到临时变量上。 在每一次的循环中,我们可以对临时变量(元素)进行处理。 ​​​​​​​

  • 相关阅读:
    【C++】STL之vector操作
    MR源码解析和join案例
    【python学习第11节笔记:正则表达式,python中使用正则表达式】
    RK3568 学习笔记 : u-boot 千兆网络功能验证
    MongoDB文档(二)
    算法专题:双指针
    UE打包报错,出现这个是为啥啊打包错误找不到这个文件
    Java-API-ES
    推荐算法——Apriori算法原理
    LevelDB 学习笔记1:布隆过滤器
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/127564515