Day 5 9.1
一. 列表的介绍
为什么会使用容器型数据???
变量: 变化的数据
在编程中的操作 定义一个标识符 记录变化的数据
有些时候 需要记录数据的变化,变化的数据都保存起来,就需要容器型数据来进行数据存储
列表list:
可变的有序型容器
可变:数据的值可以发生变化,可以修改/增加/删除
有序:容器存储数据的时候,容器中有多少个数据,会给数据设置编号,编号是从0开始[左边视为开始]
可以通过编号定位获取这个位置的数据,也可以修改
这个编号被称为下标 / 索引
数据在进行定义的时候,数据标识是[ ],在[ ]中定义多个数据,数据使用 逗号 , 分隔
二. 列表的操作
-
获取列表中元素的个数
len(数据名 / 变量名)
-
下标 / 索引 :数据的一个编号可以通过这个编号获取数据,也可以修改这个位置的数据
一般的编程语言中,编号就是从左到右,从0开始 加1递增
python 对于下标有两种表达形式
-
正向索引 ---- 从左到右
0,1,2,3,4 ,… len(数据) - 1
-
负向索引 ----- 从右到左
-1,-2,-3,… -len(数据)
获取数据的时候可以使用正向索引也可以使用负向索引
格式:
列表数据[下标] ===> 代表的是获取这个位置的数据
列表数据[下标] = 数据值 ===> 修改这个位置的数据
注意:
下标不能超过编号的界限,否则报错
-
-
切片(slice):提取子序列
本质上根据下标定位到容器相应的位置,从指定的起始位置按照步长取数据元素
格式:
列表数据[起始下标:结束下标:步长]
步长为正数,代表的是正向切片【根据位置从左向右按照步长取值】
注意:起始下标定位的位置,要在 结束下标定位的位置 左边
步长为负数,代表的是负向切片【根据位置从右向左按照步长取值】
注意:起始下标定位的位置,要在,结束下标定位的位置,右边
解读:
-
:步长可以省略,步长默认为1
列表数据[起始下标:结束下标]
代表从起始对应的元素开始,逐个取值,到结束下标对应的位置[结束下标不包括]
-
起始下标可以省略
看步长为正还是为负 步长为正,代表从最左边开始 步长为负,代表从最右边开始 3. 结束下标也可以省略 看步长为正还是为负 步长为正,代表到最右边结束 步长为负,代表到最左边结束
-
-
增加数据的操作
- 列表数据.append(数据) ==== 把数据追加在列表的末尾
2. 列表数据.insert(指定位置,数据) ===== 在指定位置添加数据,原位置及其之后位置的数据都向后移一个
- 列表数据.append(数据) ==== 把数据追加在列表的末尾
-
删除数据的操作
- 列表数据.remove(数据) ==== 将数据在列表中移除 如果列表中有有多个该数据 只会移除出现的第一个
2. 列表数据.pop( ) ===== 将列表中最后一个元素移除
3. 列表数据.pop(位置)==== 将列表中指定位置的数据移除
4. 列表数据.clear( )====== 清空列表
- 列表数据.remove(数据) ==== 将数据在列表中移除 如果列表中有有多个该数据 只会移除出现的第一个
-
关于遍历表的操作
-
获取下列序列 根据下标提取数据值、
-
遍历列表 获取列表中的元素
-
-
列表推导式
产生新列表 — 遍历简化的格式
[变量 for 变量 in 容器型数据 if判断条件]
max(容器型数据) 获取数据中的最大值
min(容器型数据) 获取数据中的最小值
sum(容器型数据) 对容器中数据求和