第六天课程总结 -列表
一.容器型数据类型(序列),相当于一个盒子里面有多个小格子
1.变量从是否是容器分为:非容器型类型数据的变量和容器型数据类型的变量
非容器数据类型的变量 - 一个盒子里面只有一个格子,所以同一时间只能保存一个数据。例如:int、float、bool、None
容器数据类型的变量 - 一个盒子里面有多个小格子,每个格子可以储存不一样的数据,同一时间可以同时保存多个数据。例如:list、dict、tuple、set、str
2.什么是列表(list)
列表是容器型数据类型(可以放到for x in 序列的序列中),将[]作为容器标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,…]
列表是可变的(可变指的是格子的数量、跟顺序;也就是元素的个数、值和顺序可变 - 支持增删改);
列表是有序的(支持下标操作)
列表中元素:任何类型的数据都可以作为列表的元素(没有要求)
3.元素
元素 - 指的是容器中每一个独立的数据
同一个列表中的元素可以是不同类型的数据,比如:
list4 = [10,12.8,True,'abc',[100,200]]
print(list4)
二.元素的获取
1.获取单个元素
语法:
列表[下标] - 获取指定下标对应的元素
说明:列表 - 任何结果是列表的表达式,例如:保存列表的变量或者是具体的列表数据
[ ] - 固定写法
下标 - 下标是有序序列中元素的位置信息。Python中有序序列中元素的下标有两种:
第一种:从前往后从0开始依次增加
第二种:从后往前从-1开始依次减少
注意:下标不能越界
2.切片 - 获取部分元素
语法1:
列表[开始下标:结束下标:步长]
- 确定是否可以获取到数据:从开始下标到结束下标的方向如果和步长对应的方向(步长为正表示从前往后,步长为负表示从后往前)一致就可以获取到数据,否则结果就是空列表
- 确定有效范围:开始下标对应元素可以取到,结束下标对应的元素取不到 -> [开始下标, 结束下标)
- 确定切片结果:在有效范围内按照步长绝对值取数据;绝对值为1就一个一个的取,绝对值为2就跳一个取一个
省略的语法:
语法2:
列表[开始下标:结束下标] - 步长为1
语法3:省略开始下标
列表[:结束下标:步长] / 列表[:结束下标] - 如果步长为正,从第一个元素开始往后取;如果步长为负,从最后一个元素开始往前取
语法4:省略结束下标
列表[开始下标::步长] / 列表[开始下标:]
如果步长为正,从开始下标开始从前往后取取完为止;如果步长为负,从开始下标开始从后往前取取完
3.遍历 - 一个一个的全部取出来
方法一 - 直接获取元素
for 变量 in 列表:
循环体
变量依次获取的就是列表中的每个元素
方法二 - 通过获取每个元素的下标来获取元素
for 变量 in range(列表长度):
循环体
变量依次获取的时候列表中元素的下标
补充:len(列表) - 获取列表的长度
三.增删改
1.增加元素
1).列表.append(元素) - 将元素添加到列表的最后
2)列表.insert(下标, 元素) - 将元素插入到指定下标前
# 1) append示例
list1 = [10, 20]
print(list1)
list1.append(100)
print(list1) # [10, 20, 100]
2)insert示例
# 列表.insert(下标, 元素) - 将元素插入到指定下标前
nums = [10, 20, 30, 40]
print(nums) # [10, 20, 30, 40]
2.删 - 删除元素
1)del 列表[下标] - 删除指定下标对应的元素
2)列表.remove(元素) - 删除指定元素
如果元素不存在会报错;如果元素有多个,只删最前面那一个
3)
列表.pop() - 取出最后一个元素,并且返回
列表.pop(下标) - 取出指定下标对应的元素,并且返回
四.in操作
元素 in 列表 - 判断列表中是否存在指定的元素
元素 not in 列表 - 判断列表中是否不存在指定元素
print(10 in [10, 20, 30]) # True
print([10, 20] in [10, 20, 30]) # False
print([10, 20] in [[10, 20], 30]) # True