1. 认识列表(list)
1.1 列表是容器型数据类型(序列);将[]作为容器的标志,里面多个数据用逗号隔开: [数据1,
数据2, 数据3, …]
1.2 列表是可变的(可变指的是列表中元素的个数和元素的值可变 - 列表支持增删改)
列表是有序的(元素有顺序对应的位置的信息;元素的顺序影响结果 - 列表支持索引操作)
1.3 列表对元素的要求:没有要求,任何类型的数据都可以作为列表的元素。
1.4 注: 元素 - 容器中每一个独立的数据,就是这个容器的元素
1.5 列表元素可以是任何类型的数据
a. 一个列表中的元素可以是多个相同类型的数据
b. 一个列表的元素可以是多个不同类型的数据
c. 列表中的元素也可以是列表
2. 获取一个元素
2.1 语法:
列表[索引] - 获取列表中指定索引对应元素
2.2 说明:
列表 - 需要获取元素的列表对象(可以是保存一个列表的变量,也可以是具体的列数据)
[] - 固定写法
索引 - 又叫下标;指的是元素在列表中的位置信息。
列表一旦确定,列表中的每个元素对应的索引就确定:
a. 元素从前往后索引从0开始不断增加
b. 元素从后往前从-1开始不断减少
3. 切片 - 同时获取多个元素(列表结果的结果是列表)
3.1 完整语法:
列表[开始下标:结束下标:步长]
a. 说明
列表 - 需要获取元素列表
[] - 固定写法
开始下标、结束下标、步长 - 必须是整数
开始下标 - 决定从哪儿开始取
结束下标 - 决定取到哪儿结束
步长 - 决定取的时候怎么取(是一个一个的按顺序取,还是跳着取;是从前往后取(步长为
正) 还是从后往前取(步长为负))
4. 使用切片
4.1 .确定切片结果
第一步:先确定结果是否为空,看开始下标对应的位置到结束下标对应的位置的方向和步长的方
向是否一致,一致结果不为空,不一致结果一定为空。
第二步:如果结果不为空,再确定切片的有效范围:开始下标对应的元素能取到,结束下标对应
元素取不到。
第三步:在有效范围内容,按照步长的反向和绝对值获取元素。
方向:步长为正,从开始下标到结束下标从前往后取;步长为负就从后往前取
绝对值:绝对值为1,就1个1个的取;绝对值为2,取1个跳1个再取1个;绝对值为3,
取1个跳2个再取1个;…
4.2 怎么写切片代码获取指定元素
确定开始下标: 需要的结果中第一个数据在列表的下标
确定结束下标: 结束下标是结果中最后一项的后一个数据或者前一个数据的下标(看方向)
确定步长: 正负看趋势(从前往后取还是从后往前取);再看绝对值(看取的时候是一个一个的
取的,还是跳着取的)
4.3 切片省略的写法
完整的切片语法:列表[开始下标:结束下标:步长]
a.省略步长 - 相当于步长为1
列表[开始下标:结束下标]
b.省略开始下标 - 获取元素的从头开始取(步长为为正,从第一个元素开始;步长为负,从最后
一个元素开始)
列表[:结束下标:步长]
c.省略结束下标 - 获取元素时候从开始下标开始,取完为止(有可能是取到最后一个,也有可能
取到第一个)
完整的切片语法:列表[开始下标::步长]
5. 遍历 - 一个一个的获取列表中所有的元素
5.1 方法1 - 直接获取元素
for 变量 in 列表:
循环体(变量依次获取到的就是列表中的每个元素)
5.2 方法2 - 通过获取所有元素的下标来获取元素
for 变量 in range(len(列表)):
循环体(列表[变量])
5.3 方法3:
for 变量1,变量2 in enumerate(列表):
循环体(变量1依次获取的是每个元素的下标;变量2依次获取的是每个元素)