列表2
列表的增删改
-
增 - 添加元素
-
列表.append(元素) - 在指定列表的最后添加指定的元素(不会产生新的列表,而是直接在原列表中添加)
-
列表.insert(下标, 元素) - 将指定元素插入到列表中指定下标对应的元素前
-
删 - 删除元素
-
del 列表[下标] - 删除列表中指定下标对应的元素
-
列表.remove(元素) - 删除列表中的指定元素(如果元素不存在会报错;如果元素有多个,只删最前面那一个)
-
列表.pop() - 取走列表最后一个元素,并且返回
列表.pop(下标) - 取走列表中指定下标对应的元素,并且返回
-
-
改 - 修改元素的值
- 列表[下标] = 新元素 - 将列表中指定下标对应的元素改成新元素
列表相关操作
- 列表加法运算:列表1 + 列表2 - 将两个列表合并成一个新的列表
- 列表乘法运算:列表 * N 、 N * 列表 - 将列表中的元素重复N次产生一个新的列表
- 列表比较运算
- 比较是否相等:==、!=
- 比较大小:>、<、>=、<= — 两个列表比较大小,比较的是第一对不相等的元素的大小(相同位置上的元素是一对)
- in 和 not in
- 元素 in 列表 - 判断列表中是否存在指定的元素
- 元素 not in 列表 - 判断列表中是否不存在指定的元素
列表相关函数
- sum(数字序列) - 求数字序列中所有元素的数值和
- max、min
- max(序列) - 求序列中的最大元素
- min(序列) - 求序列中的最小元素
- 补充:求最大值的逻辑
- 假设第一个元素是最大值保存到变量中,然后依次取出后面的每个元素和保存最大值的变量进行比较,如果后面取出来的值比最大值还大,就更新最大值
- sorted
- sorted(序列) - 将序列中的元素按照从小到大的方式排序,创建一个新的列表并且返回
- sorted(序列, reverse=True) - 将序列中的元素按照从大到小的方式排序,创建一个新的列表并且返回
- len
- len(序列) - 统计序列中元素的个数
- list
- list(序列) - 将指定的序列转换成列表(任何序列都可以转换成列表,转换的时候直接将序列中元素作为列表的元素)
列表相关方法
-
列表.clear() - 清空列表
-
列表.count(元素) - 统计列表中指定元素的个数
-
列表.extend(序列) - 将序列中的元素全部添加到列表中
-
列表.index(元素) - 获取列表中指定元素对应的下标(返回的是从0开始的下标值)
-
列表.reverse() - 将列表倒序
-
列表.sort() - 将列表中的元素从小到大排序(直接修改原列表元素的顺序)
列表.sort(reverse=True) - 将列表中的元素从大到小排序
-
sorted(序列) - 将列表中的元素从小到大排序(不修改原序列中元素的顺序,而是创建一个新的列表)
列表赋值问题
- 补充:python中的变量保存数据,保存的是数据在内存中的地址(Python中的变量全部都是指针变量)
- 拷贝和直接赋值
- 需求:已知一个列表,现在需要创建和原列表一模一样的新的列表
- 直接赋值 - 一个变量直接给另外一个变量赋值,赋的是地址,赋值后两个变量指向的是同一块内存
- 拷贝:一个变量通过拷贝的方式给另外一个变量赋值,赋值的时候会先复制原来变量中的数据,创建一个新的数据,然后将新的数据对应的内存地址给新的变量
列表推导式
- 列表推导式结构1:
- [表达式 for 变量 in 序列]
- 让变量去序列中取值,一个一个的取,取完为止,每取一个值就计算一次表达式的结果,并且将计算结果作为列表的一个元素
- 列表推导式结构2
- [表达式 for 变量 in 序列 if 条件语句]
- 让变量去序列中取值,一个一个的取,取完为止,每取一个值就判断一次条件是否成立,如果成立就计算表达式值作为列表的元素