1. 什么是列表(list)
- 列表是python提供的容器型数据类型(序列),可变、有序
- 可变(元素的个数、值和顺序可变):支持增删改
- 有序:支持下标操作
2. 列表数据:[元素1,元素2,元素3,...]
- 元素可以是任何类型的数据(值、赋值后的变量、除了赋值符以外的其他运算表达式)
- 不同元素的类型可以不一样
3. 列表元素的操作
1)查:获取列表中的元素
-
获取单个元素:结果的类型是该元素本身类型
a. 语法:列表[下标] ----- 获取列表中指定下标对应的元素 (返回值就是对应的元素)
b. 注意:下标不能越界 -
获取部分元素(切片):结果的类型是列表,取不到结果返回空列表“[]”
a. 语法:列表[开始下标:结束下标:步长] - 遍历:变量直接取到的是列表中的每个元素(命名:item - 元素;index - 下标)
for 变量 in 列表:
循环体
a. 直接遍历元素:
names = ['路飞', '鸣人', '佐助', '索罗']
for name in names:
print(name)
b. 遍历下标
names = ['路飞', '鸣人', '佐助', '索罗']
for index in range(len(names)):
print(names[index])
- 补充:isinstance(数据,类型) ----- 判断指定的数据是否是指定的类型,结果为布尔值
2)增:添加元素
- 列表.append(元素):在列表的最后添加一个元素(修改原列表,不会产生新的列表)
- 列表.insert(下标,元素):在列表中指定下标前添加指定元素
3)删:删除列表中的元素
- del 列表[下标]:删除列表中指定下标对应的元素(下标不能越界)
-
列表.remove(元素):删除列表中指定的元素
a.如果需要删除的元素在列表中有多个,只删除最前面的一个
b.如果要删除的元素不存在,程序会报错 - 列表.pop():取出列表中最后一个元素
- 列表.pop(下标): 取出列表中指定下标对应的元素
- 注意:遍历删除的时候需要考虑两个坑!
4)改:修改元素的值
- 列表[下标] = 新值:修改指定下标对应的元素为新值
- 注意:下标不能越界!
4. 列表运算符
1)数学运算:+,*
- 列表1 + 列表2 :将两个列表中的元素合并,产生一个新的列表
- 列表1 * N :列表中的元素重复N次,产生一个新的列表
2)比较运算:==,!=
5. in / not in
- 元素 in 列表:判断列表中是否包含指定的元素
6. len(列表):获取列表中元素的个数
7. list(数据):将指定数据转换成列表
- 所有的序列都可以转换成列表;将序列中的元素作为列表元素
8. max / min、sum
- max(列表):获取列表中元素的最大值
- min(列表):获取列表中元素的最小值
- sum(列表):获取列表中所有元素的和
- 注意:列表中元素的类型必须一致;数据支持比较运算符
9. 列表常用方法
1)count
- 列表.count(元素):统计列表中指定元素的个数,返回一个整数
2)extend
- 列表.extend(序列):将序列中的元素全部添加到列表中
3)index
- 列表.index(元素):获取指定元素对应的下标(如果元素有多个,只取第一个)
- 注意:如果元素不存在,程序会报错
4)reverse、reversed
- 列表.reverse():反向列表(直接修改原列表,不产生新的列表)
- reversed(序列):反向序列,不修改原序列而是产生新的序列(迭代器)
5)sort、sorted
- 列表.sort():将列表中的元素按升序排序(从小到大)
- 列表.sort(reverse=True):将列表中的元素降序排序(从大到小)
- sorted(序列):升序排序,排序的时候不修改原序列,而是产生新的序列
- sorted(序列,reverse=True):降序排序,排序的时候不修改原序列,而是产生新的序列
- 注意:能够进行排序的列表要求列表中的元素类型一致,并且支持比较运算
6)clear
- 列表.clear():删除列表中的所有元素(清空列表)
7)copy
- 列表.copy():相当于列表[ : ],将列表中的元素拷贝一份产生一个新的列表(浅拷贝)